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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.10.265 – < 5.10.273, 5.15.216 – < 5.15.224, 6.1.183 – < 6.1.191, 6.6.145 – < 6.6.161, 6.12.97 – < 6.12.115, 6.18.39 – < 6.18.60, 7.1.4 – < 7.2, 7.2 | 5.10.273 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 7.2.14-1 | — |
| Debian 13 | linux | 6.12.115-1 | — |
| Debian 12 | linux | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu 26.10 | linux +8 | No fix yet | — |
| Ubuntu 26.04 LTS | linux +14 | No fix yet | — |
| Ubuntu 24.04 LTS | linux +50 | No fix yet | — |
Show 9 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 22.04 LTS | linux +59 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime +3 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime +2 | No fix yet | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux-aws-5.15 +10 | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | kernel-source | 7.3.3-1.1 | openSUSE-SU-2026:12497-1 |
Advisories 2
- WID-SEC-2026-4302 Linux Kernel: Mehrere Schwachstellen ermöglichen nicht spezifizierten Angriff BSI CERT-Bund (WID) · Nov 10, 2026
- openSUSE-SU-2026:12497-1 kernel-devel-7.3.3-1.1 on GA media SUSE / openSUSE Security Updates · Nov 10, 2026
References
- https://git.kernel.org/stable/c/85cc289eb08afa975375f838187369e68b429ee0
- https://git.kernel.org/stable/c/820579652b24ce277e0097cd65b42bd9b7b8bf07
- https://git.kernel.org/stable/c/e618d928ec7f88cbeadfa3542adcac40f474e629
- https://git.kernel.org/stable/c/fabaff1c59ff2cc89cb7e5bd0186a5e15f0c73b2
- https://git.kernel.org/stable/c/52fe88e4ef87311eee32b45c65603e7c69e75e7d
- https://git.kernel.org/stable/c/10c705dd706aa93164ba41f2566f15206d6c178e
- https://git.kernel.org/stable/c/73820561d8cbfd3364a29b8fa77f1707f26029da
- https://git.kernel.org/stable/c/d3afd7803f9bc2a8c4270199497b60158b2fc647
- https://git.kernel.org/stable/c/86b55991d3cd690e73c5ef8d20b75ae4905b357a