KernelScan.io

HIGH

bluetooth L2CAP UserList UAF

CVE-2026-23461

CVSS 8.8 / 10.0 NVD

CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.5HIGH

01

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix use-after-free in l2cap_unregister_user After commit ab4eedb790ca ("Bluetooth: L2CAP: Fix corrupted list in hci_chan_del"), l2cap_conn_del() uses conn->lock to protect access to conn->users. However, l2cap_register_user() and l2cap_unregister_user() don't use conn->lock, creating a race condition where these functions can access conn->users and conn->hchan concurrently with l2cap_conn_del(). This can lead to use-after-free and list corruption bugs, as reported by syzbot. Fix this by changing l2cap_register_user() and l2cap_unregister_user() to use conn->lock instead of hci_dev_lock(), ensuring consistent locking for the l2cap_conn structure.

02

Engine v0.2.0

Risk summary

Adjacent attackers within Bluetooth range can trigger a use-after-free condition in the L2CAP user registration system via a race condition between connection teardown and user registration/unregistration. This can lead to kernel memory corruption, information disclosure, and system crashes. Systems with Bluetooth enabled are at risk.

Affectednet/bluetooth/l2cap_core.c (Bluetooth L2CAP)

Vulnerability analysis

The vulnerability stems from inconsistent locking in L2CAP connection management. While l2cap_conn_del() uses conn->lock to protect access to the conn->users list, l2cap_register_user() and l2cap_unregister_user() used hci_dev_lock() instead. This creates a race condition where these functions can access conn->users and conn->hchan concurrently with l2cap_conn_del(), leading to use-after-free and list corruption. The fix standardizes locking by making all functions use conn->lock. The attack surface is Bluetooth L2CAP, reachable from adjacent attackers when Bluetooth is enabled and active.

03

BranchFixed inPatch commit
6.126.12.78c22a5e659959
6.146.14da3000cbe485
6.186.18.2071030f3b3015
6.196.19.10752a6c9596dd
6.66.6.13011a87dd5df42
mainline7.0