Bluetooth: L2CAP: reject accept queue add unless BT_LISTEN
Key facts
- Attack vector
- Adjacent network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 2 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 6.1.175 to before 6.1.188; 6.6.140 to before 6.6.157; 6.12.88 to before 6.12.110; 6.18.30 to before 6.18.52; 5.10.258 to before 5.11; 5.15.209 to before 5.16; 7.0.7 to before 7.1 | 6.1.188, 6.6.157, 6.12.110, 6.18.52, 5.11, 5.16, 7.1 | Patch available | CNA |
| Linux | Linux | 7.1 and later | 6.1.188, 6.6.157, 6.12.110, 6.18.52, 7.2.6, 7.3 | Patch available | CNA |
- Linux VendorLinux Affected 6.1.175 to before 6.1.188; 6.6.140 to before 6.6.157; 6.12.88 to before 6.12.110; 6.18.30 to before 6.18.52; 5.10.258 to before 5.11; 5.15.209 to before 5.16; 7.0.7 to before 7.1 Fixed in 6.1.188, 6.6.157, 6.12.110, 6.18.52, 5.11, 5.16, 7.1 Patch available CNA
- Linux VendorLinux Affected 7.1 and later Fixed in 6.1.188, 6.6.157, 6.12.110, 6.18.52, 7.2.6, 7.3 Patch available CNA
Remediation
- Fix · CNA Linux (Linux) Fixed in 6.1.188, 6.6.157, 6.12.110, 6.18.52, 5.11, 5.16, 7.1
- Fix · CNA Linux (Linux) Fixed in 6.1.188, 6.6.157, 6.12.110, 6.18.52, 7.2.6, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
Not affected: 6 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat OpenShift Container Platform 4
- Red Hat OpenShift Container Platform 5
Timeline
- 2026-10-02 Threatist record created from CVE-2026-90092
- 2026-10-03 Alias added: GHSA-6f8j-3px9-h4jj
- 2026-10-13 Affected versions changed · Red Hat
- 2026-10-13 CVSS score added · Red Hat
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-24 Affected versions changed · Red Hat
- 2026-10-24 CVSS score changed · Red Hat
- 2026-10-29 Affected versions changed · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
References
Other 6
- https://git.kernel.org/stable/c/bf61a65c6093970e3b50031c4b79ebf3bd411eba
- https://git.kernel.org/stable/c/491e4c60017969b053888029998d2a61f298986a
- https://git.kernel.org/stable/c/2a3a27aaf19bf069720e024ce6fde54e6bf80df9
- https://git.kernel.org/stable/c/87276dc15b559d32757a43b4415c8445fbae06c4
- https://git.kernel.org/stable/c/c47339e169bf4a0a4cfabb91351471f67744c2bc
- https://git.kernel.org/stable/c/d4bfa78fd67929b62b02013c107973e0c5b7aa9a
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-90092 · CVE Program
- CVE-2026-90092 · NVD
- FIRST EPSS
- GHSA-6f8j-3px9-h4jj · GitHub Advisory Database · CC BY 4.0
- CVE-2026-90092 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences