CVE-2026-53252

Bluetooth: fix memory leak in error path of hci_alloc_dev()

MEDIUM
5.5
CVSS Score
Published: June 25, 2026 at 08:39 AM UTC
Updated: July 8, 2026 at 05:05 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.1%

Description

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: fix memory leak in error path of hci_alloc_dev() Early failures in Bluetooth HCI UART configuration leak SRCU percpu memory. When device initialization fails before hci_register_dev() completes, the HCI_UNREGISTER flag is never set. As a result, when the device reference count reaches zero, bt_host_release() evaluates this flag as false and falls back to a direct kfree(hdev). Because hci_release_dev() is bypassed, the SRCU struct initialized early in hci_alloc_dev() is never cleaned up, resulting in a leak of percpu memory. Fix the leak by explicitly calling cleanup_srcu_struct() in the fallback (unregistered) branch of bt_host_release() before freeing the device.

Affected

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

v ≥ 5.10.259v ≥ 6.15.55.10.259 ≤ v < 5.115.15.209 ≤ v < 5.15.2106.1.167 ≤ v < 6.1.1766.12.36 ≤ v < 6.12.946.15.5 ≤ v < 6.166.16 ≤ v < 6.18.366.16 ≤ v < 7.0.136.16 ≤ v < 7.16.16.1 ≤ v < 6.18.366.19 ≤ v < 7.0.136.6.97 ≤ v < 6.6.1430e5c144c557df910ab64d9c25d06399a9a735e651d6123102e9fbedc8d25bf4731da6d513173e49e5.10.2595.15.2096.1.1676.12.366.15.56.166.16 rc46.16 rc56.16 rc66.16 rc76.6.977.1 rc17.1 rc27.1 rc37.1 rc47.1 rc57.1 rc690dee0a0ff84fac8accd5be98412b3819f667149bc0819a25e04cd68ef3568cfa51b63118fea39a7c56b177efce8b62798e4d96bdb9867106cb7c4a0ce23b73f0f27e2dbeb81734a79db710f05aa33c6dd4becd3fd4102696e1c15e6d260a1712a2d8685
Vendor states this is fixed in 0622e527a31d4b44737fed5c1a2ac1fc2cfb5184 (fixed)
Vendor states this is fixed in 37b3009bf5976e8ab77c8b9a9bc3bbd7ff49e37f (fixed)
Vendor states this is fixed in 5b7dfca6f852e6b9d809fd0263b5427cc9fb33fd (fixed)
Vendor states this is fixed in bc2efe73c194a74839d7cf57b63880d97e21d309 (fixed)
Vendor states this is fixed in c016118b9e51eeaf5bc93850d4c455a3b583c0aa (fixed)
Vendor states this is fixed in ce4b4cac3c5749b6aa75e62e2991ae2263f2f889 (fixed)
Vendor states this is fixed in f82799407a50af7bcacacf09cc9b279af8fe9b81 (fixed)
Affected range stops below 5.11, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.15.210 (unaffected)
Vendor states this is fixed in 6.1.176 (unaffected)
Vendor states this is fixed in 6.12.94 (unaffected)
Vendor states this is fixed in 6.16 (unaffected)
Vendor states this is fixed in 6.18.36 (unaffected)
Vendor states this is fixed in 6.6.143 (unaffected)
Vendor states this is fixed in 7.0.13 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

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

Quick Info

StatusANALYZED
CWE
CWE-401

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