„`html
Zusammenfassung
CVE-2026-80633 ist eine Sicherheitslücke im Linux-Kernel mit hohem Schweregrad (CVSS 8.8), die im iommufd-Subsystem auftritt. Die Vulnerability wird ausgelöst, wenn dma_buf_unpin() ohne die erforderliche dma_resv-Sperre aufgerufen wird. Dies führt zu Kernel-Warnungen und potenziellen Stabilitätsproblemen bei der Freigabe von DMABUF-gestützten Speicherseiten.
Betroffene Systeme
Die Vulnerability betrifft verschiedene Linux-Kernel-Versionen mit aktiviertem iommufd-Subsystem. Besonders betroffen sind Systeme, die IOMMU-Verwaltung mit DMABUF-Integration nutzen, einschließlich Embedded-Systemen und Servern mit spezialisierter Hardwarevirtualisierung.
Technische Details
Das Problem liegt in der Funktion iopt_release_pages(), die dma_buf_unpin() aufruft, ohne zuvor die dma_resv-Sperre zu akquirieren. Die Funktion dma_buf_unpin() erfordert jedoch explizit, dass der Aufrufer diese Sperre hält, wie durch dma_resv_assert_held(dmabuf->resv) überprüft wird.
Jede Freigabe der letzten Referenz auf DMABUF-gestützte iopt_pages-Objekte – etwa bei iommufd_ioas_destroy() oder iommufd_ioas_unmap() – triggert einen Kernel-Warning. Dies wurde reproduziert in den Selftests unter tools/testing/selftests/iommu/iommufd.
Der Fix besteht darin, die dma_resv-Sperre um dma_buf_unpin() in iopt_release_pages() zu akquirieren. Dabei muss dma_buf_detach() außerhalb der gesperrten Region bleiben, da diese Funktion die Reservation-Lock intern akquiriert.
Empfohlene Massnahmen
- Linux-Kernel-Updates einspielen, sobald Patches verfügbar sind
- Systeme mit IOMMU und DMABUF-Nutzung priorisieren
- Kernel-Logs auf dma_buf_unpin-Warnungen überwachen
- Stabilitätstests nach Kernel-Updates durchführen
Bewertung
Schweregrad: High (CVSS 8.8) | Angriffsvektor: Local | Status: Patch ausstehend
Die lokale Natur der Vulnerability bedeutet, dass authentifizierte Benutzer Systeminstabilität auslösen können. Kernel-Subsystem-Fehler können zu Denial-of-Service führen.
„`