CVE-2026-99239
Received
Received - Intake
Bluetooth TOCTOU Race Condition in Linux Kernel
Vulnerability report for CVE-2026-99239, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-11-02
Last updated on: 2026-11-02
Assigner: kernel.org
Description
Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: L2CAP: refuse __l2cap_chan_add if chan already has conn
l2cap_chan may be linked to l2cap_conn at most once. This is assumed in
several places, eg l2cap_chan_del cleanup.
There is a TOCTOU race where the invariant is violated:
[Task 1] [Task 2]
l2cap_chan_connect l2cap_sock_bind
l2cap_chan_lock lock_sock
l2cap_state_change if (sk->sk_state != BT_OPEN)
chan->state = BT_CONNECT
l2cap_sock_state_change_cb chan->state = BT_BOUND
sk->sk_state = BT_BOUND
lock_sock <------------------ release_sock
sk->sk_state = BT_CONNECT
l2cap_sock_connect() does not check sk->sk_state, so since chan->state
is now BT_BOUND, subsequent connect() ends up with second
__l2cap_chan_add.
Explicitly document and check the invariant in __l2cap_chan_add with
WARN_ON_ONCE. The only callsite where it could be hit is
l2cap_chan_connect, so add pre-check there to avoid relying on
chan->state. chan->state read/write is not properly guarded currently so
there can be other TOCTOUC problems.
Add l2cap_lock_chan in l2cap_sock_bind() to guard chan->state write.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| Linux | Linux | 8f90405a4a6f1f1880dc07996b47bf57c712bd8a |
| Linux | Linux | 32d783cafb46ff3ca58e6f9fd62c9c5f35eaf26b |
| Linux | Linux | 8922c7940bae9ce4b1736dddb6362370793835c2 |
| Linux | Linux | 91047a4396a8b1857a6f712a90cf33ec0012b189 |
| Linux | Linux | 0b0e2bf39cf99e458d991b9df253727e036a7d7d |
| Linux | Linux | d3b739db5dc6f688a60d56da872fabaf65246032 |
| Linux | Linux | b66774b48dd98f07254951f74ea6f513efe7ff8b |
| Linux | Linux | b66774b48dd98f07254951f74ea6f513efe7ff8b |
| Linux | Linux | 50c38d9f42a529691e4e67ea9cedf4f0bfc8d277 |
| Linux | Linux | 5.10.265 |
| Linux | Linux | 5.15.216 |
| Linux | Linux | 6.1.183 |
| Linux | Linux | 6.6.145 |
| Linux | Linux | 6.12.97 |
| Linux | Linux | 6.18.39 |
| Linux | Linux | 7.1.4 |
| Linux | Linux | 7.2 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |