CVE-2026-74573 (GCVE-0-2026-74573)

Vulnerability from cvelistv5 – Published: 2026-08-15 12:28 – Updated: 2026-10-16 19:05
VLAI
Title
iommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE
Summary
In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE arm_vsmmu_vsid_to_sid() maps a guest's vSID to a single physical Stream ID taken from master->streams[0], assuming a device has exactly one stream. A device with several streams gets only its first one mapped, so a guest vSID invalidation cannot reach the others' ATC and IOTLB entries; a device with none makes master->streams a ZERO_SIZE_PTR, read out of bounds. Add an arm_vsmmu_vdevice_init() op to reject the vDEVICE with -EOPNOTSUPP when master->num_streams is not one, rather than mapping it silently.
SSVC
Exploitation: none Automatable: no Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-16 19:00 UTC
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 6992 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: d68beb276ba26cec47350a6d468e967673ee0c56 , < 3808bab5d95ae79e333e11f6a73d178e084c645d (git)
Affected: d68beb276ba26cec47350a6d468e967673ee0c56 , < 0acbc621341aca4eb94d9c2f43e1ab273ff088f0 (git)
Affected: d68beb276ba26cec47350a6d468e967673ee0c56 , < c3b8ee84a965058b41275069d4696f37a8b14bf6 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.13
Unaffected: 0 , < 6.13 (semver)
Unaffected: 6.18.44 , ≤ 6.18.* (semver)
Unaffected: 7.1.8 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-74573",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-16T19:00:36.894843Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-10-16T19:05:56.969Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3808bab5d95ae79e333e11f6a73d178e084c645d",
              "status": "affected",
              "version": "d68beb276ba26cec47350a6d468e967673ee0c56",
              "versionType": "git"
            },
            {
              "lessThan": "0acbc621341aca4eb94d9c2f43e1ab273ff088f0",
              "status": "affected",
              "version": "d68beb276ba26cec47350a6d468e967673ee0c56",
              "versionType": "git"
            },
            {
              "lessThan": "c3b8ee84a965058b41275069d4696f37a8b14bf6",
              "status": "affected",
              "version": "d68beb276ba26cec47350a6d468e967673ee0c56",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.13"
            },
            {
              "lessThan": "6.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.44",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.44",
                  "versionStartIncluding": "6.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.8",
                  "versionStartIncluding": "6.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.13",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE\n\narm_vsmmu_vsid_to_sid() maps a guest\u0027s vSID to a single physical Stream ID\ntaken from master-\u003estreams[0], assuming a device has exactly one stream. A\ndevice with several streams gets only its first one mapped, so a guest vSID\ninvalidation cannot reach the others\u0027 ATC and IOTLB entries; a device with\nnone makes master-\u003estreams a ZERO_SIZE_PTR, read out of bounds.\n\nAdd an arm_vsmmu_vdevice_init() op to reject the vDEVICE with -EOPNOTSUPP\nwhen master-\u003enum_streams is not one, rather than mapping it silently."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.3,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Exploitation requires reaching arm_vsmmu_cache_invalidate() via the IOMMU_HWPT_INVALIDATE ioctl on /dev/iommu (or VFIO-compat fd), a local syscall path from a process or VMM forwarding guest nested-IOMMU invalidations to the host kernel.\nAC:L - Once a vDEVICE is registered on an ARM SMMUv3 vIOMMU with a multi-stream or zero-stream master, the attacker reliably issues ATC_INV/CFGI_CD invalidation commands; no race or uncontrollable memory layout is required beyond having such hardware attached.\nPR:N - A malicious guest or tenant VM with passed-through PCI and nested vIOMMU needs no host root or credentials; QEMU normally forwards guest IOMMU invalidations to host iommufd, reaching the vulnerable code without any host authentication or admin privilege.\nUI:N - Exploitation is fully attacker-driven through iommufd ioctls and does not require any victim user action such as opening files, clicking links, or mounting filesystems beyond the attacker-controlled device setup.\nS:C - Incomplete vSID-to-SID mapping leaves stale ATC/IOTLB entries on additional Stream IDs, allowing device DMA to bypass the guest nested IOMMU policy and reach host physical memory outside the guest security domain\u2014an IOMMU/DMA boundary violation.\nC:H - Stale translations on un-invalidated streams let a malicious guest or local user read host memory via DMA using cached mappings; the num_streams==0 path also performs an out-of-bounds read of master-\u003estreams[0].id from ZERO_SIZE_PTR, leaking kernel memory into the SID field.\nI:H - Stale IOTLB/ATC entries enable arbitrary DMA writes to previously mapped host pages, and the leaked/garbage SID from the out-of-bounds streams[0] read can target invalidation at unintended Stream IDs, corrupting IOMMU translation state.\nA:H - The zero-stream case dereferences master-\u003estreams[0] when streams is ZERO_SIZE_PTR, which can kernel-oops the host; even without a crash, stale TLB state enables sustained hostile DMA that can destabilize the system."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:48:52.745Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3808bab5d95ae79e333e11f6a73d178e084c645d"
        },
        {
          "url": "https://git.kernel.org/stable/c/0acbc621341aca4eb94d9c2f43e1ab273ff088f0"
        },
        {
          "url": "https://git.kernel.org/stable/c/c3b8ee84a965058b41275069d4696f37a8b14bf6"
        }
      ],
      "title": "iommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74573",
    "datePublished": "2026-08-15T12:28:11.935Z",
    "dateReserved": "2026-08-15T05:44:03.917Z",
    "dateUpdated": "2026-10-16T19:05:56.969Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74573",
      "date": "2026-10-20",
      "epss": "0.00194",
      "percentile": "0.08514"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "3808bab5d95ae79e333e11f6a73d178e084c645d",
                    "status": "affected",
                    "version": "d68beb276ba26cec47350a6d468e967673ee0c56",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "0acbc621341aca4eb94d9c2f43e1ab273ff088f0",
                    "status": "affected",
                    "version": "d68beb276ba26cec47350a6d468e967673ee0c56",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c3b8ee84a965058b41275069d4696f37a8b14bf6",
                    "status": "affected",
                    "version": "d68beb276ba26cec47350a6d468e967673ee0c56",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.13"
                  },
                  {
                    "lessThan": "6.13",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.44",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.8",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE\n\narm_vsmmu_vsid_to_sid() maps a guest\u0027s vSID to a single physical Stream ID\ntaken from master-\u003estreams[0], assuming a device has exactly one stream. A\ndevice with several streams gets only its first one mapped, so a guest vSID\ninvalidation cannot reach the others\u0027 ATC and IOTLB entries; a device with\nnone makes master-\u003estreams a ZERO_SIZE_PTR, read out of bounds.\n\nAdd an arm_vsmmu_vdevice_init() op to reject the vDEVICE with -EOPNOTSUPP\nwhen master-\u003enum_streams is not one, rather than mapping it silently."
          }
        ],
        "id": "CVE-2026-74573",
        "lastModified": "2026-10-16T20:17:38.797",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 9.3,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.5,
              "impactScore": 6.0,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2026-74573",
                "options": [
                  {
                    "exploitation": "none"
                  },
                  {
                    "automatable": "no"
                  },
                  {
                    "technicalImpact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-16T19:00:36.894843Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2026-08-15T13:18:02.963",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/0acbc621341aca4eb94d9c2f43e1ab273ff088f0"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3808bab5d95ae79e333e11f6a73d178e084c645d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c3b8ee84a965058b41275069d4696f37a8b14bf6"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2026-10-14T18:49:02+00:00",
      "cve": "CVE-2026-74573",
      "id": "CVE-2026-74573",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "185",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: iommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74573.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.