CVE-2026-98734: Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown
Bluetooth: hcicore: Serialize SCO and ISO scheduling with teardown
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
azurelinux/kernelto a version that resolves this vulnerability.Fixed in 6.6.161.1-1 - Compensating control
In Bluetooth HCI SCO and ISO scheduling, hold hci_dev_lock() across connection selection and transmission to serialize scheduling with connection teardown; keep hci_sched_sco() as a locking wrapper for direct hci_tx_work() calls and use __hci_sched_sco() from paths that already hold the mutex.
Event History
Frequently Asked Questions
What conditions are required for this issue to occur?
A Bluetooth SCO or ISO connection must be selected by the transmit scheduler while a concurrent teardown removes and releases that connection. The race involves the TX worker on hdev->workqueue and hci_abort_conn_sync() running on hdev->req_workqueue.
Which code paths are involved in the unsafe access?
The affected scheduling paths are hci_sched_iso() and hci_sched_sco(). They can use a connection after its RCU read-side protection has ended, including in hci_quote_sent(), packet dequeue handling, and updates to conn->sent.
How might an affected system be identified?
The supplied evidence is a KASAN slab use-after-free report with hci_low_sent() in the stack, reached through hci_sched_iso() and hci_tx_work. The freeing path includes hci_abort_conn_sync(), hci_disconnect_sync(), and hci_conn_del().