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

CVE-2025-37918
HIGH 8.8

En bref

Source
NVD
EPSS
EPSS 0.25 % · centile 16 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Modified

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.

Faiblesses (CWE)

  • CWE-476 — Déréférencement de pointeur nul

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1HIGH 8.8CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1HIGH 8.8CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

Références européennes

Avis du CERT-FR

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
Linux · Linuxaffected 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 < 2e8d44ebaa7babdd5c5ab50ca275826e241920d6 ; affected 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 < b70b41591ec48c78ec6a885e1f57bfc4029e5e13 ; affected 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 < 8563d9fabd8a4b726ba7acab4737c438bf11a059 ; affected 20981ce2d5a5f79d17da1ace3a93df7b3c6ba3d6 < 0317b033abcd1d8dd2798f0e2de5e84543d0bd22
Linux · Linuxaffected 6.4 ; unaffected 0 < 6.4 ; unaffected 6.6.90 ≤ 6.6.* ; unaffected 6.12.28 ≤ 6.12.* ; unaffected 6.14.6 ≤ 6.14.* ; unaffected 6.15 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD