Use-after-free in Linux kernel Bluetooth HCI channel scheduling
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 7 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The Linux kernel Bluetooth core (hci_core) is affected from 3.3 until the fixed versions. Channel selection for ACL and LE transmission can race with channel deletion, so a channel can be freed before transmission resumes, causing a use-after-free. A disconnect command timeout on a separate workqueue can trigger this condition.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_core: Serialize ACL scheduling with channel deletion hci_chan_sent() selects a channel under RCU but drops the read lock before accessing chan->conn and returning the channel. The ACL and LE schedulers then use its packet queue and update its transmit counters without any protection against channel deletion. After TX selects a channel and releases RCU, a disconnect command timeout on the separate request workqueue can run hci_conn_failed() and l2cap_conn_del(). hci_chan_del() can then unlink the channel, complete synchronize_rcu(), purge its queue and free it before TX resumes. This causes use-after-free both in hci_chan_sent() and in its callers. KASAN reported: BUG: KASAN: slab-use-after-free in hci_chan_sent+0x892/0x9b0 Workqueue: hci0 hci_tx_work Call Trace: hci_chan_sent+0x892/0x9b0 hci_tx_work+0x5e6/0xb70 Allocated by task 91: hci_chan_create+0xe3/0x350 l2cap_conn_add.part.0+0x12/0xa30 l2cap_chan_connect+0x110d/0x1b60 l2cap_sock_connect+0x310/0x530 Freed by task 99: hci_chan_del+0x11f/0x170 l2cap_conn_del+0x4f1/0x800 l2cap_connect_cfm+0x88c/0xd30 hci_conn_failed+0x150/0x250 hci_abort_conn_sync+0x3e3/0x800 hci_cmd_sync_run+0x7e/0xc0 hci_abort_conn+0x105/0x1f0 disconnect_sync+0x157/0x290 hci_cmd_sync_work+0x13c/0x290 Hold the existing device mutex across channel selection and transmission in both schedulers to serialize them with channel teardown. Keep timeout handling outside the critical sections because hci_link_tx_to() acquires the same mutex. This also permits the transmit path to sleep, unlike extending the RCU read-side critical section across packet submission.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
The Linux kernel is fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.2.10 and 7.3, and in the fixed commits listed for the earlier ranges. Red Hat lists Red Hat Enterprise Linux 6 with no fix planned, and Red Hat Enterprise Linux 7, 8, 9, 10 and OpenShift Container Platform 4 and 5 with no fix available.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.2.10, 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 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-18 Threatist record created from CVE-2026-98735
- 2026-10-18 Alias added: GHSA-h7jm-4xpc-fcgr
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-21 Fix available: Linux/[email protected], Linux/Linux@780affacd92977fd9b819bdc4f26a6832cb27fda · CNA
- 2026-10-21 1 new reference · CNA
- 2026-10-23 Affected versions changed · Red Hat
- 2026-10-23 CVSS score added · Red Hat
- 2026-10-30 Fix available: Linux/Linux@126714c495bf31a5e71411b8e0b65a685bb5e58d, Linux/[email protected], Linux/[email protected] +3 · CNA
- 2026-10-30 3 new references · CNA
- 2026-11-06 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/126714c495bf31a5e71411b8e0b65a685bb5e58d
- https://git.kernel.org/stable/c/7fbeda3dcd5f54e7429f4b5e2cfa7344b7e9b1c9
- https://git.kernel.org/stable/c/74667f6eb7c12b65c56e02e0f527e4099db4ebfd
- https://git.kernel.org/stable/c/780affacd92977fd9b819bdc4f26a6832cb27fda
- https://git.kernel.org/stable/c/51f95ea451f25d7e3f048c0f438f04fa74688aae
- https://git.kernel.org/stable/c/86e9708f9d19a7f1bd5dc9c1652d07707f79f5bd
- https://git.kernel.org/stable/c/4fda8f0abeea9929036446d89a476fb8298abcb0
- https://git.kernel.org/stable/c/f4845ab191a4f686a5da481fbba90ed73bb693b0
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-98735 · CVE Program
- CVE-2026-98735 · NVD
- FIRST EPSS
- GHSA-h7jm-4xpc-fcgr · GitHub Advisory Database · CC BY 4.0
- CVE-2026-98735 · 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