CVE-2026-90242 in Linux
Zusammenfassung
von VulDB • 17.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
iommu/vt-d: Behebung des iopf_refcount-Lecks beim Ersetzen einer RID-Domäne
intel_iommu_attach_device() aktiviert IOPF für die neue Domäne, deaktiviert es jedoch nicht für die alte. device_block_translation(), das zu Beginn der Funktion aufgerufen wird, baut die Übersetzung ab, berührt aber keinen IOPF-Status; blocking_domain_attach_dev() muss iopf_for_domain_remove() explizit aufrufen, bevor es selbst aufgerufen wird, genau aus diesem Grund.
identity_domain_attach_dev() hat dasselbe Problem. Sein Kommentar behauptet, dass keine PRI-Behandlung erforderlich ist, da das Gerät in den Blockierungsstatus versetzt wurde, aber der Blockierungsstatus und die IOPF-Referenzzählung sind unabhängig voneinander.
Als Folge davon führt das Ersetzen einer Domäne mit einem iopf_handler durch eine andere Domäne auf RID-Ebene zu einem Leck von Referenzen in info->iopf_refcount. Der Zähler fällt nie wieder auf Null, sodass iopf_queue_remove_device() niemals aufgerufen wird und iommu_disable_pci_pri() sein WARN_ON(info->iopf_refcount) auslöst, wenn das Gerät freigegeben wird.
Die PASID-Pfade behandeln dies bereits korrekt mittels iopf_for_domain_replace(); die beiden RID-Pfade sind entsprechend umzustellen, dasselbe zu tun. Die Verwendung des Replace-Helfers anstelle eines bloßen Remove hält den Enable-Vorgang vor dem Disable, sodass der Referenzzähler nicht vorübergehend Null erreicht und das Gerät aus der IOPF-Warteschlange entfernt wird.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.