CVE-2026-90092

Bluetooth: L2CAP: reject accept queue add unless BT_LISTEN

HIGH
8
CVSS Score
Published: September 17, 2026 at 04:06 PM UTC
Updated: October 19, 2026 at 09:18 AM 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
HIGH8
Exploit prediction
EPSS 0.4%

Description

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: reject accept queue add unless BT_LISTEN New sk should not be added to parent socket accept queue after last l2cap_sock_cleanup_listen() has run in l2cap_sock_teardown_cb() and state set to BT_CLOSED, as that can result to UAF on dereferencing the dangling parent reference. l2cap_sock_new_connection_cb() may race with parent l2cap_chan teardown, due to chan->state accessed without consistent locking: [Task 1] [Task 2] l2cap_sock_release(parent) l2cap_connect l2cap_sock_shutdown pchan = l2cap_global_chan_by_psm l2cap_chan_lock(pchan) l2cap_chan_close l2cap_sock_teardown_cb pchan->state = BT_CLOSED l2cap_chan_unlock(pchan) ------> l2cap_chan_lock(pchan) l2cap_new_connection l2cap_sock_new_connection_cb l2cap_chan_lock(pchan) <-------- l2cap_chan_unlock(pchan) l2cap_sock_kill(parent) /* bt_sk(sk)->parent dangling */ Fix by adding check for sk_state == BT_LISTEN after acquiring sk lock in l2cap_sock_new_connection_cb(). Add lock_sock() around sk_state writes where missing, to avoid data races. Although the data races on pchan->state should be fixed too, this defensive sk_state check probably makes sense in any case.

Affected

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

0c17c8832562b2aac288e89cefd0f46074f54bcb1810e42ff6716f320c7269d5850eca48b07b74271b1c0da227bf63479bac9982fc8d12df9aaea0fb2ff1a41a912de8517b4482e946dd951b7d80edbf5.10.2585.15.2095105f3e6b2df619c635b5f6a49fac131a36c79526.1.1756.12.886.18.306.6.1407.0.77.185426e97dc72f2088ba6d27e74cd58c3fbd43e31a2dcf1a61d056aef15b63c6eae9441344d624389c88c185ae0a1067823661b220aeea613df2c127b
Vendor states this is fixed in 2a3a27aaf19bf069720e024ce6fde54e6bf80df9 (fixed)
Vendor states this is fixed in 491e4c60017969b053888029998d2a61f298986a (fixed)
Vendor states this is fixed in 87276dc15b559d32757a43b4415c8445fbae06c4 (fixed)
Vendor states this is fixed in bf61a65c6093970e3b50031c4b79ebf3bd411eba (fixed)
Vendor states this is fixed in c47339e169bf4a0a4cfabb91351471f67744c2bc (fixed)
Vendor states this is fixed in d4bfa78fd67929b62b02013c107973e0c5b7aa9a (fixed)
Affected range stops below 5.11, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.16, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 6.1.188 (unaffected)
Vendor states this is fixed in 6.12.110 (unaffected)
Vendor states this is fixed in 6.18.52 (unaffected)
Vendor states this is fixed in 6.6.157 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)
Vendor states this is fixed in 7.2.6 (unaffected)
Vendor states this is fixed in 7.3 (unaffected)
Vendor states this is fixed in 7.3-rc1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

8HIGHLinux
Vector?

Quick Info

StatusRECEIVED

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