UBUNTU-CVE-2026-80762: Use After Free
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hcisync: Fix accept list UAF during suspend hciupdateeventfiltersync() walks hdev->acceptlist while sending a synchronous HCI command for each remote-wakeup device. The suspend path holds hdev->reqlock, but accept-list updates are serialized by hdev->lock. Consequently, removedevice() can free the current list entry during the controller wait. The following interleaving causes the use-after-free: hciupdateeventfiltersync() removedevice() fetch accept-list entry hciseteventfiltersync() wait for controller response hcidevlock() listdel() kfree() hcidevunlock() read the freed list.next KASAN reported: BUG: KASAN: slab-use-after-free in hcisuspendsync+0x835/0x910 Read of size 8 at addr ffff88810bec8440 by task kworker/0:1/10 Workqueue: events vhcisuspendwork Call Trace: hcisuspendsync+0x835/0x910 hcisuspenddev+0x182/0x450 processonework+0x661/0x1090 workerthread+0x45b/0xd10 Allocated by task 86: hcibdaddrlistaddwithflags+0x1a8/0x400 adddevice+0x381/0x820 hcisocksendmsg+0x1033/0x1ea0 Freed by task 91: kfree+0x131/0x3c0 removedevice+0x429/0xb70 hcisocksendmsg+0x1033/0x1ea0 Snapshot the remote-wakeup addresses under hdev->lock. Release the lock before sending HCI commands. Clear the controller event filter before building the snapshot, and skip allocation and the second list traversal when there are no matching entries. This preserves the original filter and scan-state updates without retaining an accept-list node across a controller wait.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
In Linux kernel Bluetooth hci_sync, snapshot remote-wakeup addresses from hdev->accept_list while holding hdev->lock, release the lock before sending synchronous HCI commands, clear the controller event filter before building the snapshot, and skip allocation and the second list traversal when no entries match; do not retain an accept-list node across a controller wait.
Event History
Frequently Asked Questions
Which Ubuntu kernel package variants are listed as affected?
The listed software includes ubuntu/linux-riscv, ubuntu/linux-realtime, ubuntu/linux-azure, ubuntu/linux-gcp, ubuntu/linux-azure-fde, ubuntu/linux-gke, ubuntu/linux-hwe-edge, and ubuntu/linux-gkeop.
What conditions are involved in triggering the use-after-free?
The race occurs during Bluetooth suspend while the kernel walks the accept list and waits for a synchronous controller command response. A concurrent device-removal operation can delete and free the current accept-list entry before the suspend path reads its next pointer.
What evidence may indicate this issue has occurred?
The reported symptom is a KASAN slab-use-after-free, with a read occurring in hci_suspend_sync. The supplied trace also identifies the events workqueue and vhci_suspend_work as the suspend-work context.