HIGH Introduced in 3.14
bluetooth LEConnectRsp UAF
CVE-2026-74540
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KernelScan AI7.5HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: fix UAF in l2cap_le_connect_rsp l2cap_le_connect_rsp() obtains a channel via __l2cap_get_chan_by_ident() but neither holds a reference nor uses l2cap_chan_hold_unless_zero() before locking and operating on it. A concurrent l2cap_chan_del() triggered by a remote disconnect can free the channel between the lookup and l2cap_chan_lock(), causing a use-after-free. The BR/EDR counterpart l2cap_connect_rsp() and the sibling handler l2cap_le_command_rej() already use l2cap_chan_hold_unless_zero() to safely hold a reference, but l2cap_le_connect_rsp() was left unprotected. Fix by adding l2cap_chan_hold_unless_zero() after the ident lookup and l2cap_chan_put() on the exit path, consistent with other L2CAP response handlers.
02KernelScan AI Analysis
Risk summary
A Bluetooth peer within radio range can trigger a use-after-free in the kernel's L2CAP LE connection response handler by racing a disconnect against the connect-response processing. This can corrupt kernel heap memory, potentially leading to arbitrary code execution or a system crash. Any device with an active Bluetooth stack is at risk; no local privileges are required.
Vulnerability analysis
When the kernel processes an LE L2CAP connection response from a Bluetooth peer, it looks up the corresponding channel object but fails to acquire a reference before locking and using it. If the remote peer simultaneously sends a disconnect that tears down the channel, the channel can be freed between the lookup and the lock, leaving the handler operating on freed memory. The fix acquires a reference immediately after the lookup and releases it on the exit path, matching the pattern already used by the BR/EDR connection response handler and the LE command-reject handler. The vulnerability is reachable by any Bluetooth device within radio range that has an active L2CAP connection; no local account or special privileges are required on the target system.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.15 | 3.14 | 5.15.216 | 1818180fe12d |
| 5.10 | 3.14 | 5.10.265 | 15d6c2367217 |
| 6.6 | 3.14 | 6.6.151 | fd4c1e301bde |
| 6.12 | 3.14 | 6.12.103 | 522b730c62c5 |
| 6.18 | 3.14 | 6.18.44 | 58e3c5289ad2 |
| 7.1 | 3.14 | 7.1.8 | 09f447accc25 |
| mainline | 3.14 | 7.2 | c4740e7f23ff |
| 6.1 | 3.14 | 6.1.183 | 8325eafb38c3 |