CVE-2024-35843
Fixed in a distro release EPSS <1%CVSS 8.8
In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Use device rbtree in iopf reporting path The existing I/O page fault handler currently locates the PCI device by calling pci_get_domain_bus_and_slot(). This function searches the list of all PCI devices until the desired device is found. To improve lookup efficiency, replace it with device_rbtree_find() to search the device within the probed device rbtree. The I/O page fault is initiated by the device, which does not have any synchronization mechanism with the software to ensure that the device stays in the probed device tree. Theoretically, a device could be released by the IOMMU subsystem after device_rbtree_find() and before iopf_get_dev_fault_param(), which would cause a use-after-free problem. Add a mutex to synchronize the I/O page fault reporting path and the IOMMU release device path. This lock doesn't introduce any performance overhead, as the conflict between I/O page fault reporting and device releasing is very rare.
Products: Linux, linux_kernel
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Debian 12 | linux | no fix |
| Debian 13 | linux | 6.8.9-1 |
| Debian 14 | linux | 6.8.9-1 |
| Red Hat Enterprise Linux 9 | bpftool | 0:7.4.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | bpftool-debuginfo | 0:7.4.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug-devel-matched | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug-modules | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug-modules-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debug-modules-extra | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-devel-matched | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-modules | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-modules-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-64k-modules-extra | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-abi-stablelists | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-cross-headers | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-devel-matched | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-modules | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-modules-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-modules-extra | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debug-uki-virt | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debuginfo-common-aarch64 | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debuginfo-common-ppc64le | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debuginfo-common-s390x | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-debuginfo-common-x86_64 | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-devel-matched | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-doc | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-headers | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-modules | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-modules-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-modules-extra | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug-kvm | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug-modules | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug-modules-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debug-modules-extra | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-kvm | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-modules | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-modules-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-rt-modules-extra | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-tools | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-tools-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-tools-libs | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-tools-libs-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-uki-virt | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-uki-virt-addons | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump-devel | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump-devel-matched | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump-modules | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump-modules-core | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | kernel-zfcpdump-modules-extra | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | libperf | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | libperf-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | perf | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | perf-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | python3-perf | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | python3-perf-debuginfo | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | rtla | 0:5.14.0-503.11.1.el9_5 |
| Red Hat Enterprise Linux 9 | rv | 0:5.14.0-503.11.1.el9_5 |
| SUSE Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_1 | 1-150600.1.5.1 |
| SUSE Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_2 | 1-150600.13.3.2 |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-64kb | 6.4.0-150600.23.14.1 |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-default-base | 6.4.0-150600.23.14.2.150600.12.4.3 |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-zfcpdump | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-docs | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-obs-build | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-syms | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Legacy 15 SP6 | kernel-default | 6.4.0-150600.23.14.2 |
| SUSE Linux Enterprise Module for Public Cloud 15 SP6 | kernel-azure | 6.4.0-150600.8.8.2 |
| SUSE Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | 6.4.0-150600.8.8.2 |
| SUSE Linux Enterprise Module for Public Cloud 15 SP6 | kernel-syms-azure | 6.4.0-150600.8.8.1 |
| SUSE Linux Enterprise Workstation Extension 15 SP6 | kernel-default | 6.4.0-150600.23.14.2 |
| SUSE Linux Micro 6.0 | kernel-default | 6.4.0-18.1 |
| SUSE Linux Micro 6.0 | kernel-default-base | 6.4.0-17.1.1.51 |
| SUSE Linux Micro 6.0 | kernel-kvmsmall | 6.4.0-18.1 |
| SUSE Linux Micro 6.0 | kernel-rt | 6.4.0-9.1 |
| SUSE Linux Micro 6.0 | kernel-source | 6.4.0-18.1 |
| SUSE Linux Micro 6.0 | kernel-source-rt | 6.4.0-9.1 |
| SUSE Real Time Module 15 SP6 | kernel-rt | 6.4.0-150600.10.5.1 |
| SUSE Real Time Module 15 SP6 | kernel-rt_debug | 6.4.0-150600.10.5.1 |
| SUSE Real Time Module 15 SP6 | kernel-source-rt | 6.4.0-150600.10.5.1 |
| SUSE Real Time Module 15 SP6 | kernel-syms-rt | 6.4.0-150600.10.5.1 |
| Ubuntu 16.04 LTS | linux-hwe-edge | no fix |
| Ubuntu 18.04 LTS | linux-aws-5.0 | no fix |
| Ubuntu 18.04 LTS | linux-aws-5.3 | no fix |
| Ubuntu 18.04 LTS | linux-azure | no fix |
| Ubuntu 18.04 LTS | linux-azure-5.3 | no fix |
| Ubuntu 18.04 LTS | linux-azure-edge | no fix |
| Ubuntu 18.04 LTS | linux-gcp | no fix |
| Ubuntu 18.04 LTS | linux-gcp-5.3 | no fix |
| Ubuntu 18.04 LTS | linux-gke-4.15 | no fix |
| Ubuntu 18.04 LTS | linux-gke-5.4 | no fix |
| Ubuntu 18.04 LTS | linux-gkeop-5.4 | no fix |
| Ubuntu 18.04 LTS | linux-hwe | no fix |
| Ubuntu 18.04 LTS | linux-hwe-edge | no fix |
| Ubuntu 18.04 LTS | linux-oem | no fix |
| Ubuntu 18.04 LTS | linux-oracle-5.0 | no fix |
| Ubuntu 18.04 LTS | linux-oracle-5.3 | no fix |
| Ubuntu 20.04 LTS | linux-aws-5.11 | no fix |
| Ubuntu 20.04 LTS | linux-aws-5.13 | no fix |
| Ubuntu 20.04 LTS | linux-aws-5.8 | no fix |
| Ubuntu 20.04 LTS | linux-azure-5.11 | no fix |
| Ubuntu 20.04 LTS | linux-azure-5.13 | no fix |
| Ubuntu 20.04 LTS | linux-azure-5.8 | no fix |
| Ubuntu 20.04 LTS | linux-azure-fde | no fix |
| Ubuntu 20.04 LTS | linux-gcp-5.11 | no fix |
| Ubuntu 20.04 LTS | linux-gcp-5.13 | no fix |
| Ubuntu 20.04 LTS | linux-gcp-5.8 | no fix |
| Ubuntu 20.04 LTS | linux-gke | no fix |
| Ubuntu 20.04 LTS | linux-gke-5.15 | no fix |
| Ubuntu 20.04 LTS | linux-gkeop | no fix |
| Ubuntu 20.04 LTS | linux-gkeop-5.15 | no fix |
| Ubuntu 20.04 LTS | linux-hwe-5.11 | no fix |
| Ubuntu 20.04 LTS | linux-hwe-5.13 | no fix |
| Ubuntu 20.04 LTS | linux-hwe-5.8 | no fix |
| Ubuntu 20.04 LTS | linux-intel-5.13 | no fix |
| Ubuntu 20.04 LTS | linux-oem-5.10 | no fix |
| Ubuntu 20.04 LTS | linux-oem-5.13 | no fix |
| Ubuntu 20.04 LTS | linux-oem-5.14 | no fix |
| Ubuntu 20.04 LTS | linux-oem-5.6 | no fix |
| Ubuntu 20.04 LTS | linux-oracle-5.11 | no fix |
| Ubuntu 20.04 LTS | linux-oracle-5.13 | no fix |
| Ubuntu 20.04 LTS | linux-oracle-5.8 | no fix |
| Ubuntu 20.04 LTS | linux-raspi2 | no fix |
| Ubuntu 20.04 LTS | linux-riscv | no fix |
| Ubuntu 20.04 LTS | linux-riscv-5.11 | no fix |
| Ubuntu 20.04 LTS | linux-riscv-5.8 | no fix |
| Ubuntu 22.04 LTS | linux-allwinner-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-aws-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-aws-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-aws-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-azure-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-azure-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-azure-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-azure-fde-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-azure-fde-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-gcp-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-gcp-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-gcp-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-hwe-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-hwe-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-hwe-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-intel-iot-realtime | no fix |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-nvidia-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-nvidia-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-oem-5.17 | no fix |
| Ubuntu 22.04 LTS | linux-oem-6.0 | no fix |
| Ubuntu 22.04 LTS | linux-oem-6.1 | no fix |
| Ubuntu 22.04 LTS | linux-oem-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-oracle-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-realtime | no fix |
| Ubuntu 22.04 LTS | linux-riscv | no fix |
| Ubuntu 22.04 LTS | linux-riscv-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-riscv-6.5 | no fix |
| Ubuntu 22.04 LTS | linux-starfive-5.19 | no fix |
| Ubuntu 22.04 LTS | linux-starfive-6.2 | no fix |
| Ubuntu 22.04 LTS | linux-starfive-6.5 | no fix |
| Ubuntu 24.04 LTS | linux | 6.8.0-35.35 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1009.9 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1008.8 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1008.9 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1004.7 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1006.6 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-35.35.1 |
| Ubuntu 24.04 LTS | linux-oem-6.8 | 6.8.0-1006.6 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1006.6 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1005.5 |
| Ubuntu 24.04 LTS | linux-riscv | 6.8.0-35.35.1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2004.4 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1002.2 |
| openSUSE Leap 15.6 | dtb-aarch64 | 6.4.0-150600.23.14.1 |
| openSUSE Leap 15.6 | kernel-64kb | 6.4.0-150600.23.14.1 |
| openSUSE Leap 15.6 | kernel-azure | 6.4.0-150600.8.8.2 |
| openSUSE Leap 15.6 | kernel-debug | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-default | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.14.2.150600.12.4.3 |
| openSUSE Leap 15.6 | kernel-docs | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-kvmsmall | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-obs-build | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-obs-qa | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-rt | 6.4.0-150600.10.5.1 |
| openSUSE Leap 15.6 | kernel-rt_debug | 6.4.0-150600.10.5.1 |
| openSUSE Leap 15.6 | kernel-source | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-source-azure | 6.4.0-150600.8.8.2 |
| openSUSE Leap 15.6 | kernel-source-rt | 6.4.0-150600.10.5.1 |
| openSUSE Leap 15.6 | kernel-syms | 6.4.0-150600.23.14.2 |
| openSUSE Leap 15.6 | kernel-syms-azure | 6.4.0-150600.8.8.1 |
| openSUSE Leap 15.6 | kernel-syms-rt | 6.4.0-150600.10.5.1 |
| openSUSE Leap 15.6 | kernel-zfcpdump | 6.4.0-150600.23.14.2 |