{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64151","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-19T07:54:57.037Z","datePublished":"2026-07-19T15:40:40.643Z","dateUpdated":"2026-08-05T12:39:45.883Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:39:45.883Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\niommupt: Check for missing PAGE_SIZE in the pgsize_bitmap\n\nSashiko pointed out that the driver could drop PAGE_SIZE from the\npgsize_bitmap. That is technically allowed but nothing does it, and\nsuch an iommu_domain would not be used with the DMA API today.\n\nStill, it is against the design and it is trivial to fix up. Lift\nthe PT_WARN_ON to the if branch and just skip the fast path."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","baseScore":8.4,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The bug is in `map_range()` inside the generic IOMMU page-table path, reached only via local kernel interfaces (`iommu_map()` → `iommu_map_nosync()` → `pt->ops->map_range()`), primarily through `/dev/iommufd` or `/dev/vfio/*` ioctls during device passthrough mapping setup. There is no network-facing entry point.\nAC:L - Once an IOMMU paging domain exists with `PAGE_SIZE` cleared from `pgsize_bitmap`, any `iommu_map()`/`IOMMU_IOAS_MAP` call mapping a single page reliably takes the buggy fast path; the attacker controls mapping requests and needs no races or special memory layout.\nPR:L - Exploitation requires local ability to create IOMMU mappings for a passthrough device (IOMMUFD/VFIO ioctl access and device group permissions), which is available to unprivileged tenants on cloud GPU/NIC passthrough hosts without host root, even though opening `/dev/iommufd` alone is insufficient.\nUI:N - Triggering the flaw is entirely programmatic through IOMMU mapping ioctls; no victim interaction such as mounting a filesystem or opening a file is required.\nS:C - Incorrect leaf PTE installation on an IOMMU domain can break DMA isolation, allowing a device to read/write host physical memory outside its authorized mappings—an IOMMU/DMA security-boundary bypass per kernel CVSS guidance.\nC:H - Malformed or policy-violating IOMMU page-table entries can cause a DMA-capable device to read arbitrary host physical memory beyond the intended IOVA window, constituting arbitrary memory disclosure through the IOMMU bypass primitive.\nI:H - The fast path installs `PAGE_SHIFT` leaf entries even when `PAGE_SIZE` is excluded from `pgsize_bitmap`, corrupting IOMMU translation state and enabling a DMA device to write to unauthorized host physical pages.\nA:N - The flaw corrupts IOMMU translation entries rather than causing a kernel oops, panic, or hang; availability impact is not a primary or reliable outcome of triggering this bug."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iommu/generic_pt/iommu_pt.h"],"versions":[{"version":"dcd6a011a8d523a114af2360a8753de5bd60c139","lessThan":"00850f41da24423587abd6124a790dd4f12bcef3","status":"affected","versionType":"git"},{"version":"dcd6a011a8d523a114af2360a8753de5bd60c139","lessThan":"8ef3f77c440005c7f04229a75976bfc078364247","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iommu/generic_pt/iommu_pt.h"],"versions":[{"version":"6.19","status":"affected"},{"version":"0","lessThan":"6.19","status":"unaffected","versionType":"semver"},{"version":"7.0.11","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.0.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/00850f41da24423587abd6124a790dd4f12bcef3"},{"url":"https://git.kernel.org/stable/c/8ef3f77c440005c7f04229a75976bfc078364247"}],"title":"iommupt: Check for missing PAGE_SIZE in the pgsize_bitmap","x_generator":{"engine":"bippy-1.2.0"}}}}