data built 2026-10-19T13:16:53Z

Look up another CVE · open CVE-2026-74380 in the interactive tracker

CVE-2026-74380

gpu: host1x: Fix iommu_map_sgtable() return value check

8.8 EPSS 0.2% AV:L

Published 2026-08-15 (2 months ago) by the Linux kernel CNA. Subsystem drivers/gpu. Debian urgency: not yet assigned.

What to do, per Debian release

Debian's own status for CVE-2026-74380 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source

ReleaseStatus VersionWhat this means
Debian 12bookwormfixed6.1.180-1Update the kernel and reboot. Fixed in 6.1.180-1. A running kernel keeps the old code until the machine restarts.
Debian 13trixiefixed6.12.100-1Update the kernel and reboot. Fixed in 6.12.100-1. A running kernel keeps the old code until the machine restarts.
Debian 14forkyfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

Commit "iommu: return full error code from iommu_map_sg[_atomic]()" changed iommu_map_sgtable() to return an ssize_t and negative values in error cases, rather than a size_t and a zero. pin_job() also was incorrectly assigning to 'int', which could cause overflows into negative values. Update pin_job() to correctly check for errors from iommu_map_sgtable.

Where it lives

The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.

drivers/gpu/host1x/job.c

What this is
DRM DRIVERS FOR NVIDIA TEGRAMAINTAINERS section matched on drivers/gpu/host1x/ · dri-devel@lists.freedesktop.org · Supported
Kernel module
host1x

Check it on the machine

grep -w CONFIG_TEGRA_HOST1X /boot/config-$(uname -r)

Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.

lsmod | grep -w host1x

Prints a line if that module is loaded right now, and nothing if it is not. One that is not loaded can still be loaded later by anything that needs it.

Show whether Debian builds this, per release

Debian builds this, but not on every flavour. At least one release below builds the code on some of its kernel flavours and not on others, so the answer depends on the architecture and flavour installed.

  • bookwormMnot built on amd64/amd64, amd64/cloud-amd64, amd64/rt/amd64, arm64/cloud-arm64, i386/686, i386/686-pae, i386/rt/686-pae, ppc64el/powerpc64le
  • trixieMnot built on amd64/amd64, amd64/cloud-amd64, amd64/rt/amd64, arm64/cloud-arm64, armel/rpi, ppc64el/powerpc64le, ppc64el/powerpc64le-64k, riscv64/riscv64, s390x/s390x
  • forky, sidMnot built on amd64/amd64, amd64/cloud-amd64, amd64/rt-amd64, arm64/cloud-arm64, loong64/loong64, ppc64el/powerpc64le, ppc64el/powerpc64le-64k, riscv64/riscv64, s390x/s390x
M
a module where it is built at all; some flavours do not build it
Build switch
CONFIG_TEGRA_HOST1X

From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages

Signals

Published
2026-08-15 (2 months ago)source
CVSS
8.8 high
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:Hsource recompute it
Attack vector
local (AV:L)source
EPSS
0.18%, higher than 6.6% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
not yet assignedsource
Subsystem
drivers/gpu

Upstream fixes

The versions the CNA records as introducing and fixing this, and the commit for each. source

IntroducedFixed inCommit
5.156.1.1785f3985c2a500
5.156.6.1453ac173e46ef6
5.156.12.972a68928c4451
5.156.18.4079240eee5a40
5.157.1.5e024c7993d83
5.157.218f74762013a

Why the CNA scored it this way

Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source

AV:LAttack vector, local
The bug is in host1x pin_job() reached from tegra DRM TEGRA_CHANNEL_SUBMIT ioctls on /dev/dri/renderD*, requiring local access to the GPU render node on Tegra/Jetson, automotive, and embedded platforms.
AC:LAttack complexity, low
An attacker with render-node access can reliably submit host1x jobs and force iommu_map_sgtable() failures (e.g., via memory/IOVA pressure or alignment edge cases); no victim-controlled race or rare configuration is required.
PR:LPrivileges required, low
Exploitation needs only unprivileged access to the DRM render node, which is commonly granted to local users and containerized GPU workloads on Tegra124+ systems with host1x IOMMU enabled; no real-root capability is required.
UI:NUser interaction, none
Triggering the flaw is fully programmatic through DRM ioctls and host1x job submission; no additional victim interaction such as plugging devices or mounting filesystems is needed.
S:CScope, changed
When iommu_map_sgtable() fails, the driver still programs host1x/GPU gather DMA with an IOVA lacking a valid IOMMU mapping, breaking the IOMMU/DMA isolation boundary between device DMA and system physical memory.
C:HConfidentiality impact, high
Proceeding without a valid IOMMU translation lets host1x fetch gather/command streams via an unmapped IOVA, enabling GPU DMA reads outside the intended buffer and potential disclosure of unintended physical memory depending on SMMU fault behavior.
I:HIntegrity impact, high
Corrupted or attacker-influenced gather fetches can drive subsequent host1x client engines to perform unintended DMA writes; failed IOMMU setup removes the mapping that was meant to confine GPU memory access.
A:HAvailability impact, high
Submitting jobs with unmapped IOVAs causes IOMMU faults, GPU/host1x hangs or timeouts, and potential kernel oops/panic on affected Tegra systems, yielding a repeatable local denial of service.