CVE-2025-37918

Bluetooth: btusb: avoid NULL pointer dereference in skb_dequeue()

MEDIUM
5.5
CVSS Score
Published: May 20, 2025 at 03:21 PM UTC
Updated: October 15, 2026 at 10:18 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.13 ≤ v < 6.14.66.4 ≤ v < 6.6.906.7 ≤ v < 6.12.2820981ce2d5a5f79d17da1ace3a93df7b3c6ba3d66.156.15 rc16.15 rc26.15 rc36.15 rc4
Vendor states this is fixed in 0317b033abcd1d8dd2798f0e2de5e84543d0bd22 (fixed)
Vendor states this is fixed in 2e8d44ebaa7babdd5c5ab50ca275826e241920d6 (fixed)
Vendor states this is fixed in 8563d9fabd8a4b726ba7acab4737c438bf11a059 (fixed)
Vendor states this is fixed in b70b41591ec48c78ec6a885e1f57bfc4029e5e13 (fixed)
Vendor states this is fixed in 6.12.28 (unaffected)
Vendor states this is fixed in 6.14.6 (unaffected)
Vendor states this is fixed in 6.15 (unaffected)
Vendor states this is fixed in 6.4 (unaffected)
Vendor states this is fixed in 6.6.90 (unaffected)

References (4)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0317b033abcd1d8dd2798f0e2de5e84543d0bd22
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2e8d44ebaa7babdd5c5ab50ca275826e241920d6
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8563d9fabd8a4b726ba7acab4737c438bf11a059
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b70b41591ec48c78ec6a885e1f57bfc4029e5e13

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card