{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-74380",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-74380"
  ],
  "published": "2026-08-15T06:04:33Z",
  "summary": "gpu: host1x: Fix iommu_map_sgtable() return value check",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ngpu: host1x: Fix iommu_map_sgtable() return value check\n\nCommit \"iommu: return full error code from iommu_map_sg[_atomic]()\"\nchanged iommu_map_sgtable() to return an ssize_t and negative values\nin error cases, rather than a size_t and a zero.\n\npin_job() also was incorrectly assigning to 'int', which could cause\noverflows into negative values.\n\nUpdate pin_job() to correctly check for errors from iommu_map_sgtable.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.178",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-74380"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/5f3985c2a500df3126cb12a2e0ccf26a40bc495d"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3ac173e46ef6fda9c9df8d47cdff4df962df9728"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/2a68928c445138961e2c451983b473aeb3f5b999"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/79240eee5a40014d9edfabe19f06b35ffa84e5f8"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e024c7993d839503d6c1f0044b8fc537c30300e9"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/18f74762013a4b6aa6f905c4459e0f506f9c5c7b"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-17T05:50:24Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 8.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:L - 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.\nAC:L - 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.\nPR:L - 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.\nUI:N - 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.\nS:C - 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.\nC:H - 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.\nI:H - 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.\nA:H - 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."
    }
  }
}
