Track vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
7.8
CVE-2026-45894: Linux kernel VT-d PASID entries may cause system instability
CVE-2026-45894 · published 5 months ago
Summary
The Linux kernel's handling of Intel VT-d PASID tables can leave a hardware flag set while the rest of the entry is being cleared, which may let the hardware see a partially updated entry and behave unpredictably. This affects Debian and Ubuntu kernel packages that include the affected code. Updating to the fixed kernel versions or applying the provided patch will prevent the issue.
What to do
- Update debian rootio-linux to version 6.1.174-1.root.io.139.
- Update bellsoft linux-lts to version 6.12.80-r0.
- Update bellsoft linux-lts to version 6.12.76-r0.
- Update debian linux to version 6.12.85-1.
- Update debian linux to version 6.18.14-1.
- Update debian rootio-linux to version 5.10.257-1.root.io.93.
- Update canonical rootio-linux to version 5.15.0-186.196.root.io.103.
- Update canonical linux to version 6.8.0-138.138.aikido.87.
- Update canonical rootio-linux to version 6.8.0-138.138.aikido.87.
- Update linux kernel to version 6.19.4.
- Update canonical linux-nvidia-tegra to version 6.8.0-1035.38.
- Update linux to version 5.15.0-198.208.aikido.116.
- Update rootio-linux to version 5.15.0-198.208.aikido.116.
- Update linux to version 6.8.0-146.146.aikido.89.
- Update rootio-linux to version 6.8.0-146.146.aikido.89.
- Update linux to version 6.8.0-147.147.aikido.90.
- Update rootio-linux to version 6.8.0-147.147.aikido.90.
- Update linux to version 6.1.190-1.aikido.167.
- Update rootio-linux to version 6.1.190-1.aikido.167.
- Update linux to version 5.15.0-202.212.aikido.118.
- Update rootio-linux to version 5.15.0-202.212.aikido.118.
- Update bellsoft linux-lts to version 6.1.191-r0.
- Update bellsoft linux-lts to version 6.18.35-r1.
- Update linux linux to version bed36f5657d34ae982d48045a75bff6113790cf9 or later.
Affected software
| Ecosystem | Vendor | Product | Affected versions |
|---|---|---|---|
| Root:Debian:12 | debian | rootio-linux |
< 6.1.174-1.root.io.139 Fix: upgrade to 6.1.174-1.root.io.139
|
| Alpaquita:23 | bellsoft | linux-lts |
>= 6.1.170-r0 >= 6.1.189-r0, < 6.1.191-r0 Fix: upgrade to 6.1.191-r0
|
| Alpaquita:25 | bellsoft | linux-lts |
>= 6.12.74-r0, < 6.12.80-r0 Fix: upgrade to 6.12.80-r0
|
| Alpaquita:stream | bellsoft | linux-lts |
>= 6.12.74-r0, < 6.12.76-r0 >= 6.12.92-r1, < 6.18.35-r1 Fix: upgrade to 6.12.76-r0
|
| Debian:11 | debian | linux | All versions |
| Debian:12 | debian | linux | All versions |
| Debian:13 | debian | linux |
< 6.12.85-1 Fix: upgrade to 6.12.85-1
|
| Debian:14 | debian | linux |
< 6.18.14-1 Fix: upgrade to 6.18.14-1
|
| Ubuntu:16.04:LTS | canonical | linux-hwe-edge | All versions |
| Ubuntu:18.04:LTS | canonical | linux-aws-5.0 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-aws-5.3 | All versions |
| Ubuntu:Pro:18.04:LTS | canonical | linux-aws-5.4 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-azure | All versions |
| Ubuntu:18.04:LTS | canonical | linux-azure-5.3 | All versions |
| Ubuntu:Pro:18.04:LTS | canonical | linux-azure-5.4 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-azure-edge | All versions |
| Ubuntu:18.04:LTS | canonical | linux-gcp | All versions |
| Ubuntu:18.04:LTS | canonical | linux-gcp-5.3 | All versions |
| Ubuntu:Pro:18.04:LTS | canonical | linux-gcp-5.4 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-gke-4.15 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-gke-5.4 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-gkeop-5.4 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-hwe | All versions |
| Ubuntu:Pro:18.04:LTS | canonical | linux-hwe-5.4 | All versions |
| Ubuntu:Pro:18.04:LTS | canonical | linux-ibm-5.4 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-oem | All versions |
| Ubuntu:18.04:LTS | canonical | linux-oracle-5.0 | All versions |
| Ubuntu:18.04:LTS | canonical | linux-oracle-5.3 | All versions |
| Ubuntu:Pro:18.04:LTS | canonical | linux-oracle-5.4 | All versions |
| Ubuntu:Pro:18.04:LTS | canonical | linux-raspi-5.4 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-aws | All versions |
| Ubuntu:20.04:LTS | canonical | linux-aws-5.11 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-aws-5.13 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-aws-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-aws-5.8 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-azure-5.11 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-azure-5.13 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-azure-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-azure-5.8 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-azure-fde | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-azure-fde-5.15 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-bluefield | All versions |
| Ubuntu:20.04:LTS | canonical | linux-gcp-5.11 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-gcp-5.13 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-gcp-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-gcp-5.8 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-gke | All versions |
| Ubuntu:20.04:LTS | canonical | linux-gke-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-gkeop | All versions |
Showing 50 of 178. Show the rest
| Ecosystem | Vendor | Product | Affected versions |
|---|---|---|---|
| Ubuntu:20.04:LTS | canonical | linux-gkeop-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-hwe-5.11 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-hwe-5.13 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-hwe-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-hwe-5.8 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-ibm | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-ibm-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-intel-5.13 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-intel-iotg-5.15 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-iot | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-kvm | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-lowlatency-hwe-5.15 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-nvidia-tegra-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-oem-5.10 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-oem-5.13 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-oem-5.14 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-oem-5.6 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-oracle | All versions |
| Ubuntu:20.04:LTS | canonical | linux-oracle-5.11 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-oracle-5.13 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-oracle-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-oracle-5.8 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-raspi | All versions |
| Ubuntu:20.04:LTS | canonical | linux-raspi2 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-riscv | All versions |
| Ubuntu:20.04:LTS | canonical | linux-riscv-5.11 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-riscv-5.15 | All versions |
| Ubuntu:20.04:LTS | canonical | linux-riscv-5.8 | All versions |
| Ubuntu:Pro:20.04:LTS | canonical | linux-xilinx-zynqmp | All versions |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | canonical | linux-aws-fips | All versions |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | canonical | linux-azure-fips | All versions |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | canonical | linux-fips | All versions |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | canonical | linux-gcp-fips | All versions |
| Ubuntu:22.04:LTS | canonical | linux-allwinner-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-aws-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-aws-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-aws-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-aws-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-azure-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-azure-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-azure-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-azure-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-azure-fde-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-azure-fde-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-azure-fde-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-gcp-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-gcp-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-gcp-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-gcp-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-hwe-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-hwe-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-hwe-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-hwe-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-ibm-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-intel-iot-realtime | All versions |
| Ubuntu:22.04:LTS | canonical | linux-intel-iotg | All versions |
| Ubuntu:22.04:LTS | canonical | linux-lowlatency | All versions |
| Ubuntu:22.04:LTS | canonical | linux-lowlatency-hwe-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-lowlatency-hwe-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-lowlatency-hwe-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-lowlatency-hwe-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-nvidia | All versions |
| Ubuntu:22.04:LTS | canonical | linux-nvidia-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-nvidia-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-nvidia-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-nvidia-tegra | All versions |
| Ubuntu:22.04:LTS | canonical | linux-nvidia-tegra-igx | All versions |
| Ubuntu:22.04:LTS | canonical | linux-oem-5.17 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-oem-6.0 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-oem-6.1 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-oem-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-oracle-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-oracle-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-realtime | All versions |
| Ubuntu:22.04:LTS | canonical | linux-riscv-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-riscv-6.5 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-riscv-6.8 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-starfive-5.19 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-starfive-6.2 | All versions |
| Ubuntu:22.04:LTS | canonical | linux-starfive-6.5 | All versions |
| Ubuntu:Pro:Realtime:22.04:LTS | canonical | linux-realtime-6.8 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-aws-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-aws-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-6.11 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-fde-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-fde-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-fde-7.0 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-nvidia | All versions |
| Ubuntu:24.04:LTS | canonical | linux-azure-nvidia-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-gcp-6.11 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-gcp-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-gcp-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-hwe-6.11 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-hwe-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-hwe-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-lowlatency-hwe-6.11 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-nvidia-6.11 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-nvidia-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-nvidia-lowlatency | All versions |
| Ubuntu:24.04:LTS | canonical | linux-oem-6.11 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-oem-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-oem-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-oem-6.8 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-oracle-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-oracle-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-raspi-realtime | All versions |
| Ubuntu:24.04:LTS | canonical | linux-riscv-6.14 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-riscv-6.17 | All versions |
| Ubuntu:24.04:LTS | canonical | linux-xilinx | All versions |
| Ubuntu:Pro:Realtime:24.04:LTS | canonical | linux-realtime-6.14 | All versions |
| Ubuntu:Pro:Realtime:24.04:LTS | canonical | linux-realtime-6.17 | All versions |
| Root:Debian:11 | debian | rootio-linux |
< 5.10.257-1.root.io.93 Fix: upgrade to 5.10.257-1.root.io.93
|
| Root:Ubuntu:22.04 | canonical | rootio-linux |
< 5.15.0-186.196.root.io.103 Fix: upgrade to 5.15.0-186.196.root.io.103
|
| Root:Ubuntu:24.04 | canonical | linux |
< 6.8.0-138.138.aikido.87 Fix: upgrade to 6.8.0-138.138.aikido.87
|
| Root:Ubuntu:24.04 | canonical | rootio-linux |
< 6.8.0-138.138.aikido.87 Fix: upgrade to 6.8.0-138.138.aikido.87
|
| Linux | linux | kernel |
>= 6.19.0, < 6.19.4 Fix: upgrade to 6.19.4
|
| – | linux | linux_kernel |
>= 5.0, < 6.12.75 >= 6.13, < 6.18.14 >= 6.19, < 6.19.4 cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Ubuntu:24.04:LTS | canonical | linux-nvidia-tegra |
< 6.8.0-1035.38 Fix: upgrade to 6.8.0-1035.38
|
| Root:Ubuntu:22.04 | – | linux |
< 5.15.0-198.208.aikido.116 < 5.15.0-202.212.aikido.118 Fix: upgrade to 5.15.0-198.208.aikido.116
|
| Root:Ubuntu:22.04 | – | rootio-linux |
< 5.15.0-198.208.aikido.116 < 5.15.0-202.212.aikido.118 Fix: upgrade to 5.15.0-198.208.aikido.116
|
| Root:Ubuntu:24.04 | – | linux |
< 6.8.0-146.146.aikido.89 < 6.8.0-147.147.aikido.90 Fix: upgrade to 6.8.0-146.146.aikido.89
|
| Root:Ubuntu:24.04 | – | rootio-linux |
< 6.8.0-146.146.aikido.89 < 6.8.0-147.147.aikido.90 Fix: upgrade to 6.8.0-146.146.aikido.89
|
| Ubuntu:24.04:LTS | canonical | linux-vmware | All versions |
| Root:Debian:12 | – | linux |
< 6.1.190-1.aikido.167 Fix: upgrade to 6.1.190-1.aikido.167
|
| Root:Debian:12 | – | rootio-linux |
< 6.1.190-1.aikido.167 Fix: upgrade to 6.1.190-1.aikido.167
|
| – | linux | linux |
< bed36f5657d34ae982d48045a75bff6113790cf9 5.0 |
Original advisory text
BELL-CVE-2026-45894
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.
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.
References
- https://docs.bell-sw.com/security/cves/CVE-2026-45894 Vendor Advisory
- https://security-tracker.debian.org/tracker/CVE-2026-45894 Vendor Advisory
- https://git.kernel.org/stable/c/75ed00055c059dedc47b5daaaa2f8a7a019138ff URL
- https://git.kernel.org/stable/c/949d71666e9dd19f21e7b4b53a88cd2c5b902858 URL
- https://ubuntu.com/security/CVE-2026-45894 Third Party Advisory
- https://git.kernel.org/stable/c/821807c167b7b48a41b95b6607c6b9f97600f7d9 URL
- https://ubuntu.com/security/notices/USN-8781-1 Vendor Advisory
- https://git.kernel.org/stable/c/a84d30e8d2bacd21782a6481158b7c9c552f4868 URL
- https://git.kernel.org/stable/c/c36b0515c6445bd137ec8ad86ef5470c45d6e4bf URL
- https://www.cve.org/CVERecord?id=CVE-2026-45894 Third Party Advisory
- https://git.kernel.org/linus/75ed00055c059dedc47b5daaaa2f8a7a019138ff Third Party Advisory
- https://git.kernel.org/stable/c/bed36f5657d34ae982d48045a75bff6113790cf9 URL
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45894... Vendor Advisory
- https://nvd.nist.gov/vuln/detail/CVE-2026-45894 Vendor Advisory
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git Product
Internet-facing
14 days
Internal
At next upgrade
- Not known to be exploited
- Needs hands-on effort to exploit
- Gives an attacker full control
Type
CWE-362Race Condition
Timeline
Published29 May 2026
Updated4 Nov 2026
First seen30 May 2026
Sources
BELL-CVE-2026-45894 · OSV
CVE-2026-45894 · NVD
DEBIAN-CVE-2026-45894 · OSV
UBUNTU-CVE-2026-45894 · OSV
CVE-2026-45894 · OSV
CVE-2026-45894 · MITRE
Track software like this
Free during beta