CVE-2026-43161

EUVD-2026-27722
In the Linux kernel, the following vulnerability has been resolved:

iommu/vt-d: Skip dev-iotlb flush for inaccessible PCIe device without scalable mode

PCIe endpoints with ATS enabled and passed through to userspace
(e.g., QEMU, DPDK) can hard-lock the host when their link drops,
either by surprise removal or by a link fault.

Commit 4fc82cd907ac ("iommu/vt-d: Don't issue ATS Invalidation
request when device is disconnected") adds pci_dev_is_disconnected()
to devtlb_invalidation_with_pasid() so ATS invalidation is skipped
only when the device is being safely removed, but it applies only
when Intel IOMMU scalable mode is enabled.

With scalable mode disabled or unsupported, a system hard-lock
occurs when a PCIe endpoint's link drops because the Intel IOMMU
waits indefinitely for an ATS invalidation that cannot complete.

Call Trace:
 qi_submit_sync
 qi_flush_dev_iotlb
 __context_flush_dev_iotlb.part.0
 domain_context_clear_one_cb
 pci_for_each_dma_alias
 device_block_translation
 blocking_domain_attach_dev
 iommu_deinit_device
 __iommu_group_remove_device
 iommu_release_device
 iommu_bus_notifier
 blocking_notifier_call_chain
 bus_notify
 device_del
 pci_remove_bus_device
 pci_stop_and_remove_bus_device
 pciehp_unconfigure_device
 pciehp_disable_slot
 pciehp_handle_presence_or_link_change
 pciehp_ist

Commit 81e921fd3216 ("iommu/vt-d: Fix NULL domain on device release")
adds intel_pasid_teardown_sm_context() to intel_iommu_release_device(),
which calls qi_flush_dev_iotlb() and can also hard-lock the system
when a PCIe endpoint's link drops.

Call Trace:
 qi_submit_sync
 qi_flush_dev_iotlb
 __context_flush_dev_iotlb.part.0
 intel_context_flush_no_pasid
 device_pasid_table_teardown
 pci_pasid_table_teardown
 pci_for_each_dma_alias
 intel_pasid_teardown_sm_context
 intel_iommu_release_device
 iommu_deinit_device
 __iommu_group_remove_device
 iommu_release_device
 iommu_bus_notifier
 blocking_notifier_call_chain
 bus_notify
 device_del
 pci_remove_bus_device
 pci_stop_and_remove_bus_device
 pciehp_unconfigure_device
 pciehp_disable_slot
 pciehp_handle_presence_or_link_change
 pciehp_ist

Sometimes the endpoint loses connection without a link-down event
(e.g., due to a link fault); killing the process (virsh destroy)
then hard-locks the host.

Call Trace:
 qi_submit_sync
 qi_flush_dev_iotlb
 __context_flush_dev_iotlb.part.0
 domain_context_clear_one_cb
 pci_for_each_dma_alias
 device_block_translation
 blocking_domain_attach_dev
 __iommu_attach_device
 __iommu_device_set_domain
 __iommu_group_set_domain_internal
 iommu_detach_group
 vfio_iommu_type1_detach_group
 vfio_group_detach_container
 vfio_group_fops_release
 __fput

pci_dev_is_disconnected() only covers safe-removal paths;
pci_device_is_present() tests accessibility by reading
vendor/device IDs and internally calls pci_dev_is_disconnected().
On a ConnectX-5 (8 GT/s, x2) this costs ~70 µs.

Since __context_flush_dev_iotlb() is only called on
{attach,release}_dev paths (not hot), add pci_device_is_present()
there to skip inaccessible devices and avoid the hard-lock.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 2%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
5.12.19 ≤
𝑥
< 5.13
linuxlinux_kernel
5.13.4 ≤
𝑥
< 5.14
linuxlinux_kernel
5.14.1 ≤
𝑥
< 6.12.77
linuxlinux_kernel
6.13 ≤
𝑥
< 6.18.17
linuxlinux_kernel
6.19 ≤
𝑥
< 6.19.6
linuxlinux_kernel
5.14
linuxlinux_kernel
5.14:rc2
linuxlinux_kernel
5.14:rc3
linuxlinux_kernel
5.14:rc4
linuxlinux_kernel
5.14:rc5
linuxlinux_kernel
5.14:rc6
linuxlinux_kernel
5.14:rc7
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
vulnerable
bookworm (security)
vulnerable
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.257-1
fixed
forky
7.0.12-2
fixed
sid
7.0.13-1
fixed
trixie
6.12.86-1
fixed
trixie (security)
6.12.94-1
fixed
Amazon Linux logo
Amazon Linux Releases
Amazon Package
Release
bpftool6.12
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
bpftool6.12-debuginfo
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
bpftool6.18
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
bpftool6.18-debuginfo
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel-livepatch-6.12.77-99.140
Amazon Linux 2023
1:1.0-0.amzn2023
fixed
kernel-livepatch-6.18.20-20.229
Amazon Linux 2023
1:1.0-0.amzn2023
fixed
kernel6.12
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-debuginfo
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-debuginfo-common-aarch64
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-debuginfo-common-x86_64
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-devel
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-headers
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-libbpf
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-libbpf-debuginfo
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-libbpf-devel
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-libbpf-static
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-modules-extra
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-modules-extra-common
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-tools
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-tools-debuginfo
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.12-tools-devel
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
kernel6.18
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-debuginfo
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-debuginfo-common-aarch64
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-debuginfo-common-x86_64
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-devel
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-headers
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-libbpf
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-libbpf-debuginfo
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-libbpf-devel
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-libbpf-static
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-modules-extra
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-modules-extra-common
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-tools
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-tools-debuginfo
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
kernel6.18-tools-devel
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
perf6.12
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
perf6.12-debuginfo
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
perf6.18
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
perf6.18-debuginfo
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
python3-perf6.12
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
python3-perf6.12-debuginfo
Amazon Linux 2023
1:6.12.77-99.140.amzn2023
fixed
python3-perf6.18
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed
python3-perf6.18-debuginfo
Amazon Linux 2023
1:6.18.20-20.229.amzn2023
fixed