CVE-2026-43161 in Linuxinfo

Zusammenfassung

von VulDB • 27.05.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

iommu/vt-d: Dev-IOTLB-Flush für nicht zugängliche PCIe-Geräte ohne Scalable Mode überspringen

PCIe-Endpunkte mit aktiviertem ATS und an den Benutzerbereich durchgereicht (z. B. QEMU, DPDK) können den Host zum Hard-Lock bringen, wenn ihre Verbindung abbricht, sei es durch unerwartetes Entfernen oder durch einen Link-Fault.

Das Commit 4fc82cd907ac („iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected") fügt `pci_dev_is_disconnected()` zu `devtlb_invalidation_with_pasid()` hinzu, sodass die ATS-Invalidierung nur dann übersprungen wird, wenn das Gerät sicher entfernt wird. Dies gilt jedoch nur, wenn der Intel IOMMU Scalable Mode aktiviert ist.

Bei deaktiviertem oder nicht unterstütztem Scalable Mode tritt ein System-Hard-Lock auf, wenn die Verbindung eines PCIe-Endpunkts abbricht, da der Intel IOMMU unendlich lange auf eine ATS-Invalidierung wartet, die nicht abgeschlossen werden kann.

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

Das Commit 81e921fd3216 („iommu/vt-d: Fix NULL domain on device release") fügt `intel_pasid_teardown_sm_context()` zu `intel_iommu_release_device()` hinzu, was `qi_flush_dev_iotlb()` aufruft und den System-Hard-Lock ebenfalls verursachen kann, wenn die Verbindung eines PCIe-Endpunkts abbricht.

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

Manchmal verliert der Endpunkt die Verbindung ohne Link-Down-Ereignis (z. B. aufgrund eines Link-Faults); das Beenden des Prozesses (`virsh destroy`) führt dann zu einem Hard-Lock des Hosts.

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()` deckt nur Pfade für sichere Entfernung ab; `pci_device_is_present()` testet die Zugänglichkeit durch Lesen der Vendor-/Device-IDs und ruft intern `pci_dev_is_disconnected()` auf. Bei einem ConnectX-5 (8 GT/s, x2) verursacht dies ~70 µs.

Da `__context_flush_dev_iotlb()` nur auf den {attach,release}_dev-Pfaden aufgerufen wird (nicht hot), wird dort `pci_device_is_present()` hinzugefügt, um nicht zugängliche Geräte zu überspringen und den Hard-Lock zu vermeiden.

Once again VulDB remains the best source for vulnerability data.

Zuständig

Linux

Reservieren

01.05.2026

Veröffentlichung

06.05.2026

Moderieren

akzeptiert

Eintrag

VDB-361363

CPE

bereit

EPSS

0.00013

KEV

nein

Aktivitäten

very low

Quellen

Want to know what is going to be exploited?

We predict KEV entries!