Skip to main content

CVE-2025-37918: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2025-37918cvecve-2025-37918
Published: Tue May 20 2025 (05/20/2025, 15:21:48 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

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.

AI-Powered Analysis

AILast updated: 07/04/2025, 01:39:33 UTC

Technical Analysis

CVE-2025-37918 is a vulnerability identified in the Linux kernel's Bluetooth subsystem, specifically within the btusb driver handling Qualcomm Atheros (QCA) firmware crash dumps on the WCN7851 chipset (USB ID 0489:e0f3). The flaw arises from improper handling of Bluetooth dump packets in the skb_dequeue() function. The root cause is that the function handle_dump_pkt_qca() incorrectly returns 0 even when a dump packet is successfully processed, because it forwards the return value of hci_devcd_init(), which returns 0 on success. Consequently, the caller functions btusb_recv_acl_qca() or btusb_recv_evt_qca() mistakenly assume the packet was not handled and pass it to hci_recv_frame(), which prematurely frees the socket buffer (skb). Later, when hci_devcd_rx() attempts to dequeue the same skb from the dump queue, it encounters a NULL pointer dereference, leading to a kernel crash (BUG). This is a classic use-after-free scenario triggered by double handling of the same packet. The fix involves making handle_dump_pkt_qca() return 0 on success and negative errno on failure, aligning with kernel conventions, and restructuring the code to separate dump packet detection for ACL and event packets. This prevents double handling and NULL pointer dereference. The vulnerability affects specific Linux kernel versions identified by commit hashes and is related to Bluetooth functionality on affected hardware. No known exploits are reported in the wild as of publication.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to systems running affected Linux kernel versions with Bluetooth enabled, especially those using Qualcomm Atheros WCN7851 chipsets. The impact includes potential kernel crashes leading to denial of service (DoS) conditions on affected devices. This can disrupt critical services, especially in environments relying on Bluetooth for connectivity, such as IoT deployments, industrial control systems, or enterprise laptops and mobile devices. While the vulnerability does not directly allow code execution or privilege escalation, the induced kernel panic can cause system instability and downtime. In sectors like manufacturing, healthcare, or transportation where Linux-based embedded systems are prevalent, such disruptions can have operational and safety implications. Additionally, repeated crashes could be exploited by attackers to degrade service availability or trigger recovery mechanisms that might expose further attack surfaces. The lack of known exploits reduces immediate risk, but the vulnerability's presence in widely used Linux kernels necessitates prompt attention to avoid future exploitation.

Mitigation Recommendations

Organizations should promptly apply the official Linux kernel patches that address CVE-2025-37918 once available. Until patches are deployed, mitigating actions include disabling Bluetooth on affected systems where feasible, especially on devices using Qualcomm Atheros WCN7851 chipsets. System administrators should audit their Linux kernel versions and Bluetooth hardware inventory to identify vulnerable endpoints. Employing kernel crash monitoring and alerting can help detect exploitation attempts or instability caused by this vulnerability. For embedded or IoT devices, firmware updates from vendors should be prioritized. Additionally, isolating critical systems from untrusted Bluetooth devices and restricting physical access can reduce attack vectors. Network segmentation and strict device usage policies will further limit exposure. Finally, maintaining up-to-date kernel versions and subscribing to Linux security advisories ensures timely awareness and response to such vulnerabilities.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-04-16T04:51:23.968Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682cd0f71484d88663aeaf7b

Added to database: 5/20/2025, 6:59:03 PM

Last enriched: 7/4/2025, 1:39:33 AM

Last updated: 8/9/2025, 9:38:24 AM

Views: 18

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats