CVE-2025-37918Bluetooth: btusb: avoid NULL pointer dereference in skb_dequeue()
Updated under an hour ago ()
Does this affect you?
It affects Linux and 1 other product. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: avoid NULL pointer dereference in skb_dequeue() A NULL pointer dereference can occur in skb_dequeue() when processing a QCA firmware crash dump on WCN7851 (0489:e0f3). [ 93.672166] Bluetooth: hci0: ACL memdump size(589824) [ 93.672475] BUG: kernel NULL pointer dereference, address: 0000000000000008 [ 93.672517] Workqueue: hci0 hci_devcd_rx [bluetooth] [ 93.672598] RIP: 0010:skb_dequeue+0x50/0x80 The issue stems from handle_dump_pkt_qca() returning 0 even when a dump packet is successfully processed. This is because it incorrectly forwards the return value of hci_devcd_init() (which returns 0 on success). As a result, the caller (btusb_recv_acl_qca() or btusb_recv_evt_qca()) assumes the packet was not handled and passes it to hci_recv_frame(), leading to premature kfree() of the skb. Later, hci_devcd_rx() attempts to dequeue the same skb from the dump queue, resulting in a NULL pointer dereference. Fix this by: 1. Making handle_dump_pkt_qca() return 0 on success and negative errno on failure, consistent with kernel conventions. 2. Splitting dump packet detection into separate functions for ACL and event packets for better structure and readability. This ensures dump packets are properly identified and consumed, avoiding double handling and preventing NULL pointer access.
- CVSS
- 8.8 HIGH (v3.1, CNA)CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weakness (CWE)
- Not given
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- Linux
- NVD analysis
- Modified
- Record last updated
- Oct 15, 2026
- First seen by InfoSec Signals
- Oct 15, 2026
Affected products
Linux Linux linux:linux (from the name) | 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 builds before 2e8d44ebaa7babdd5c5ab50ca275826e241920d6; from 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 before b70b41591ec48c78ec6a885e1f57bfc4029e5e13; 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 builds before 8563d9fabd8a4b726ba7acab4737c438bf11a059; 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 builds before 0317b033abcd1d8dd2798f0e2de5e84543d0bd22 | CNA record |
linux linux_kernel linux:linux_kernel | from 6.4 before 6.6.90; from 6.7 before 6.12.28; from 6.13 before 6.14.6; 6.15; 6.15; 6.15; 6.15 | NVD |
References
- https://git.kernel.org/stable/c/2e8d44ebaa7babdd5c5ab50ca275826e241920d6patch
- https://git.kernel.org/stable/c/b70b41591ec48c78ec6a885e1f57bfc4029e5e13patch
- https://git.kernel.org/stable/c/8563d9fabd8a4b726ba7acab4737c438bf11a059patch
- https://git.kernel.org/stable/c/0317b033abcd1d8dd2798f0e2de5e84543d0bd22patch
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.