CVE Catalog

CVE-2025-37918

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.23%

14th percentile - higher than 14% of all known CVEs

Summary

In the Linux kernel's btusb Bluetooth driver, a vulnerability was found leading to a NULL pointer dereference in skb_dequeue() when processing a QCA firmware crash dump. The handle_dump_pkt_qca() function returned 0 instead of a negative error code, causing double processing of the packet and a NULL dereference.

Risk Assessment

The organization is at risk of system crashes when handling crash dumps from QCA Bluetooth controllers, which could lead to disruptions in Bluetooth services.

Recommendation

Update the Linux kernel to a version containing the fix that changes handle_dump_pkt_qca() to return 0 on success and negative on error, and splits dump packet detection into separate functions.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS