CVE-2026-45894 json
iommu/vt-d: Clear Present bit before tearing down PASID entry
published 2026-05-27 5 mo ago modified 2026-10-30 10 d ago also EUVD-2026-32360
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Clear Present bit before tearing down PASID entry
The Intel VT-d Scalable Mode PASID table entry consists of 512 bits (64 bytes). When tearing down an entry, the current implementation zeros the entire 64-byte structure immediately using multiple 64-bit writes.
Since the IOMMU hardware may fetch these 64 bytes using multiple internal transactions (e.g., four 128-bit bursts), updating or zeroing the entire entry while it is active (P=1) risks a "torn" read. If a hardware fetch occurs simultaneously with the CPU zeroing the entry, the hardware could observe an inconsistent state, leading to unpredictable behavior or spurious faults.
Follow the "Guidance to Software for Invalidations" in the VT-d spec (Section 6.5.3.3) by implementing the recommended ownership handshake:
1. Clear only the 'Present' (P) bit of the PASID entry. 2. Use a dma_wmb() to ensure the cleared bit is visible to hardware before proceeding. 3. Execute the required invalidation sequence (PASID cache, IOTLB, and Device-TLB flush) to ensure the hardware has released all cached references. 4. Only after the flushes are complete, zero out the remaining fields of the PASID entry.
Also, add a dma_wmb() in pasid_set_present() to ensure that all other fields of the PASID entry are visible to the hardware before the Present bit is set.
Patch / fix
- Linux Linux 6.1.191, 6.6.160, 6.12.75, 6.18.14, 6.19.4, 7.0
- linux Debian 13 6.12.85-1
- linux Debian 14 6.18.14-1
debian advisories DEBIAN-CVE-2026-45894
- linux-nvidia-tegra Ubuntu 24.04 LTS 6.8.0-1035.38
ubuntu advisories UBUNTU-CVE-2026-45894
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel RHEL 10.2 6.12.0-211.58.1.el10_2
- rv RHEL 10.2 6.12.0-211.58.1.el10_2
- perf RHEL 10.2 6.12.0-211.58.1.el10_2
- rtla RHEL 10.2 6.12.0-211.58.1.el10_2
- libperf RHEL 10.2 6.12.0-211.58.1.el10_2
- kernel-rt RHEL 10.2 6.12.0-211.58.1.el10_2
- kernel-64k RHEL 10.2 6.12.0-211.58.1.el10_2
- kernel-core RHEL 10.2 6.12.0-211.58.1.el10_2
red hat advisories RHSA-2026:70498RHSA-2026:70459RHSA-2026:70403RHSA-2026:70402
- kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.36.1
- kernel-obs-build Linux Micro Extras 6.2 6.12.0-160000.36.1
- kernel-rt Linux Micro 6.2 6.12.0-160000.36.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.36.1
- kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.36.1
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.36.1
- kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.36.1.160000.2.17
- kernel-azure SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.36.1
suse advisories SUSE-SU-2026:22742-1SUSE-SU-2026:22769-1SUSE-SU-2026:22835-1SUSE-SU-2026:22812-1SUSE-SU-2026:2799-1SUSE-SU-2026:2722-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.36.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.36.1
opensuse advisories openSUSE-SU-2026:21388-1
- rv AlmaLinux 10 6.12.0-211.58.1.el10_2
- perf AlmaLinux 10 6.12.0-211.58.1.el10_2
- rtla AlmaLinux 10 6.12.0-211.58.1.el10_2
- libperf AlmaLinux 10 6.12.0-211.58.1.el10_2
- kernel-rt AlmaLinux 10 6.12.0-211.58.1.el10_2
- kernel-tools AlmaLinux 10 6.12.0-211.58.1.el10_2
- python3-perf AlmaLinux 10 6.12.0-211.58.1.el10_2
- kernel-rt-64k AlmaLinux 10 6.12.0-211.58.1.el10_2
almalinux advisories ALSA-2026:70498ALSA-2026:70402ALSA-2026:70403ALSA-2026:70459
- kernel Rocky Linux 9 5.14.0-687.50.1.el9_8
- kernel Rocky Linux 10 6.12.0-211.58.1.el10_2
- kernel-rt Rocky Linux 8 4.18.0-553.166.1.rt7.507.el8_10
- kernel Rocky Linux 8 4.18.0-553.166.1.el8_10
rocky linux advisories RLSA-2026:70459RLSA-2026:70498RLSA-2026:70403RLSA-2026:70402
- git.kernel.org/stable/c/bed36f5657d34ae982d48045a75bff6113790cf9 commit
- git.kernel.org/stable/c/c36b0515c6445bd137ec8ad86ef5470c45d6e4bf commit
- git.kernel.org/stable/c/a84d30e8d2bacd21782a6481158b7c9c552f4868 commit
- git.kernel.org/stable/c/821807c167b7b48a41b95b6607c6b9f97600f7d9 commit
- git.kernel.org/stable/c/949d71666e9dd19f21e7b4b53a88cd2c5b902858 commit
- git.kernel.org/stable/c/75ed00055c059dedc47b5daaaa2f8a7a019138ff commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-45894 updated cvss 4.7
kernel: iommu/vt-d: Clear Present bit before tearing down PASID entry
-
Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 moreaffected: workaround, no fix available
-
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-687.50.1.el9_8, perf 5.14.0-687.50.1.el9_8, rtla 5.14.0-687.50.1.el9_8, python3-perf 5.14.0-687.50.1.el9_8, kernel-devel-matched 5.14.0-687.50.1.el9_8, kernel-64k-devel-matched 5.14.0-687.50.1.el9_8, +7 morefixed: vendor fix RHSA-2026:70459
-
Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-211.58.1.el10_2, perf 6.12.0-211.58.1.el10_2, rtla 6.12.0-211.58.1.el10_2, python3-perf 6.12.0-211.58.1.el10_2, kernel-devel-matched 6.12.0-211.58.1.el10_2, kernel-64k-devel-matched 6.12.0-211.58.1.el10_2, +7 morefixed: vendor fix RHSA-2026:70498
-
Red Hat Enterprise Linux BaseOS (v. 8) perf 4.18.0-553.166.1.el8_10, kernel 4.18.0-553.166.1.el8_10, bpftool 4.18.0-553.166.1.el8_10, kernel-core 4.18.0-553.166.1.el8_10, kernel-tools 4.18.0-553.166.1.el8_10, python3-perf 4.18.0-553.166.1.el8_10, +15 morefixed: vendor fix RHSA-2026:70402
-
Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-687.50.1.el9_8, kernel-64k 5.14.0-687.50.1.el9_8, kernel-core 5.14.0-687.50.1.el9_8, kernel-tools 5.14.0-687.50.1.el9_8, kernel-modules 5.14.0-687.50.1.el9_8, kernel-64k-core 5.14.0-687.50.1.el9_8, +27 morefixed: vendor fix RHSA-2026:70459
-
Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-211.58.1.el10_2, kernel-64k 6.12.0-211.58.1.el10_2, kernel-core 6.12.0-211.58.1.el10_2, kernel-tools 6.12.0-211.58.1.el10_2, kernel-modules 6.12.0-211.58.1.el10_2, kernel-64k-core 6.12.0-211.58.1.el10_2, +28 morefixed: vendor fix RHSA-2026:70498
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-687.50.1.el9_8, kernel-debuginfo-common-s390x 5.14.0-687.50.1.el9_8, kernel-debuginfo-common-x86_64 5.14.0-687.50.1.el9_8, kernel-debuginfo-common-aarch64 5.14.0-687.50.1.el9_8, kernel-debuginfo-common-ppc64le 5.14.0-687.50.1.el9_8fixed: vendor fix RHSA-2026:70459
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-211.58.1.el10_2, kernel-debuginfo-common-s390x 6.12.0-211.58.1.el10_2, kernel-debuginfo-common-x86_64 6.12.0-211.58.1.el10_2, kernel-debuginfo-common-aarch64 6.12.0-211.58.1.el10_2, kernel-debuginfo-common-ppc64le 6.12.0-211.58.1.el10_2fixed: vendor fix RHSA-2026:70498
show 8 moreshow fewer
-
Red Hat Enterprise Linux CRB (v. 8) kernel-debuginfo-common-x86_64 4.18.0-553.166.1.el8_10, kernel-debuginfo-common-aarch64 4.18.0-553.166.1.el8_10, kernel-debuginfo-common-ppc64le 4.18.0-553.166.1.el8_10fixed: vendor fix RHSA-2026:70402
-
Red Hat Enterprise Linux NFV (v. 8) kernel-rt 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-kvm 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-core 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-modules 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-debug-kvm 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-debug-core 4.18.0-553.166.1.rt7.507.el8_10, +4 morefixed: vendor fix RHSA-2026:70403
-
Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-687.50.1.el9_8, kernel-rt-64k 5.14.0-687.50.1.el9_8, kernel-rt-core 5.14.0-687.50.1.el9_8, kernel-rt-modules 5.14.0-687.50.1.el9_8, kernel-rt-64k-core 5.14.0-687.50.1.el9_8, kernel-rt-debug-core 5.14.0-687.50.1.el9_8, +14 morefixed: vendor fix RHSA-2026:70459
-
Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-211.58.1.el10_2, kernel-rt-64k 6.12.0-211.58.1.el10_2, kernel-rt-core 6.12.0-211.58.1.el10_2, kernel-rt-modules 6.12.0-211.58.1.el10_2, kernel-rt-64k-core 6.12.0-211.58.1.el10_2, kernel-rt-debug-core 6.12.0-211.58.1.el10_2, +14 morefixed: vendor fix RHSA-2026:70498
-
Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-687.50.1.el9_8, kernel-rt-core 5.14.0-687.50.1.el9_8, kernel-rt-modules 5.14.0-687.50.1.el9_8, kernel-rt-debug-core 5.14.0-687.50.1.el9_8, kernel-rt-modules-core 5.14.0-687.50.1.el9_8, kernel-rt-debug-modules 5.14.0-687.50.1.el9_8, +4 morefixed: vendor fix RHSA-2026:70459
-
Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-211.58.1.el10_2, kernel-rt-core 6.12.0-211.58.1.el10_2, kernel-rt-modules 6.12.0-211.58.1.el10_2, kernel-rt-debug-core 6.12.0-211.58.1.el10_2, kernel-rt-modules-core 6.12.0-211.58.1.el10_2, kernel-rt-debug-modules 6.12.0-211.58.1.el10_2, +4 morefixed: vendor fix RHSA-2026:70498
-
Red Hat Enterprise Linux RT (v. 8) kernel-rt 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-core 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-modules 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-debug-core 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-debug-modules 4.18.0-553.166.1.rt7.507.el8_10, kernel-rt-modules-extra 4.18.0-553.166.1.rt7.507.el8_10, +2 morefixed: vendor fix RHSA-2026:70403
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 23 d ago
Exploit prediction
0.13% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization
- Technology feeds
References
- git.kernel.org /stable/c/bed36f5657d34ae982d48045a75bff6113790cf9
- git.kernel.org /stable/c/c36b0515c6445bd137ec8ad86ef5470c45d6e4bf
-
git.kernel.org
/stable/c/a84d30e8d2bacd21782a6481158b7c9c552f4868
patch
-
git.kernel.org
/stable/c/821807c167b7b48a41b95b6607c6b9f97600f7d9
patch
-
git.kernel.org
/stable/c/949d71666e9dd19f21e7b4b53a88cd2c5b902858
patch
-
git.kernel.org
/stable/c/75ed00055c059dedc47b5daaaa2f8a7a019138ff
patch
Sources
- CVE List CVE-2026-45894
- NVD CVE-2026-45894
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.