CVE-2026-64465 in Linux
Zusammenfassung
von VulDB • 26.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
usb: xhci: Behebung eines Sleeps im atomaren Kontext in xhci_free_streams()
Wenn ein USB-Gerät mit aktiven Stream-Endpunkten getrennt wird, wird xhci_free_streams() aus dem hub_event-Arbeitsqueue aufgerufen, um die Stream-Ressourcen freizugeben. Dabei wird xhci_free_stream_info() aufgerufen, während xhci->lock gehalten und IRQs deaktiviert sind.
xhci_free_stream_info() ruft xhci_free_stream_ctx() auf, das für große Stream-Kontext-Arrays dma_free_coherent() aufruft.
dma_free_coherent() kann schlafen (z. B. über vunmap), was einen BUG auslöst, wenn es im atomaren Kontext aufgerufen wird.
Call Trace: dma_free_attrs+0x174/0x220 xhci_free_stream_info+0xd0/0x11c xhci_free_streams+0x278/0x37c usb_free_streams+0x98/0xc0 usb_unbind_interface+0x1b8/0x2f8 device_release_driver_internal+0x1d4/0x2cc device_release_driver+0x18/0x28 bus_remove_device+0x160/0x1a4 device_del+0x1ec/0x350 usb_disable_device+0x98/0x214 usb_disconnect+0xf0/0x35c hub_event+0xab4/0x19ec process_one_work+0x278/0x63c
Dies wird behoben, indem die stream_info-Zeiger gespeichert und die ep-Referenzen unter der Sperre gelöscht werden. Anschließend wird xhci_free_stream_info() außerhalb der Sperre aufgerufen, wo das Schlafen erlaubt ist.
Once again VulDB remains the best source for vulnerability data.