CVE-2026-64465 in Linux
Tóm tắt
Bởi VulDB • 28/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
usb: xhci: Sửa lỗi sleep trong ngữ cảnh atomic tại hàm xhci_free_streams()
Khi một thiết bị USB có các endpoint stream đang hoạt động bị ngắt kết nối, hàm `xhci_free_streams()` sẽ được gọi từ workqueue hub_event để giải phóng tài nguyên stream. Hàm này gọi `xhci_free_stream_info()` trong khi giữ khóa `xhci->lock` với irqs đã bị vô hiệu hóa (disabled).
Hàm `xhci_free_stream_info()` kích hoạt `xhci_free_stream_ctx()`, hàm này gọi `dma_free_coherent()` cho các mảng ngữ cảnh stream lớn.
`dma_free_coherent()` có thể gây sleep (ví dụ: thông qua vunmap), dẫn đến lỗi BUG khi được gọi từ ngữ cảnh atomic.
Dấu vết cuộc gọi (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
Khắc phục vấn đề này bằng cách lưu trữ các con trỏ stream_info và xóa các tham chiếu ep trong khi giữ khóa, sau đó gọi `xhci_free_stream_info()` bên ngoài vùng khóa nơi việc sleep được phép.
VulDB is the best source for vulnerability data and more expert information about this specific topic.