In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Fix sleep in atomic context in xhci_free_streams() When a USB device… (CVE-2026-64465)
Source GCVE Database
Not known to be exploited : monitor for a fix to affected systems.
Data as of 10/24/2026, 20:40:31 UTC
No CVSS score from NVD or the CNA
- Exploitation
Not in CISA KEV, no exploitation reported
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 7% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
What to do
AI-suggested
A fix has been implemented in the Linux kernel to address this issue by restructuring the code to avoid sleeping in atomic context. Users should apply the official kernel updates that include this patch. Since this is a kernel-level fix, upgrading to a kernel version containing this patch is the recommended remediation. Patch status is not explicitly confirmed in the provided data; check the vendor or Linux kernel advisory for the exact fixed versions and update accordingly.
Description
In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Fix sleep in atomic context in xhci_free_streams() When a USB device with active stream endpoints is disconnected, xhci_free_streams() is called from the hub_event workqueue to free the stream resources. It calls xhci_free_stream_info() while holding xhci->lock with irqs disabled. xhci_free_stream_info() invokes xhci_free_stream_ctx(), which calls dma_free_coherent() for large stream context arrays. dma_free_coherent() can sleep (e.g. via vunmap), triggering a BUG when called from atomic context. 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 Fix this by saving the stream_info pointers and clearing the ep references under the lock, then calling xhci_free_stream_info() outside the lock where sleeping is allowed.
Impact
This vulnerability can cause a kernel BUG due to sleeping in atomic context, potentially leading to system instability or crashes when a USB device with active stream endpoints is disconnected. There is no indication of code execution or privilege escalation from the provided data.
References
- nvd.nist.gov/vuln/detail/CVE-2026-64465 (opens in a new tab)
- git.kernel.org/stable/c/10666ac9c552990204e791af653abf8e9d9ff619 (opens in a new tab)
- git.kernel.org/stable/c/1e45aa722c4ce5663e987102aac18c8ad6a83fdd (opens in a new tab)
- git.kernel.org/stable/c/42c37c4b75d38b51d84f31a8e29427f5e06a7c2a (opens in a new tab)
- git.kernel.org/stable/c/93cd037da94fcb93183bfb2457e3a56d3eb4c8f4 (opens in a new tab)
- git.kernel.org/stable/c/d107eb316144c5fb958486e7fe604cd7f1b35cda (opens in a new tab)
- git.kernel.org/stable/c/e623e4a203f56d5c57519a9a3cb29600551534ad (opens in a new tab)
- git.kernel.org/stable/c/f7b022ae07685e7526fc39f387ce65b5d309dd3b (opens in a new tab)
- git.kernel.org/stable/c/f90586129cf9e1fbdb718ef602eea3f15dc1c31c (opens in a new tab)