PT-2026-85603 · Linux · Linux
CVE-2026-80762
·
Published
2026-09-04
·
Updated
2026-09-04
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci sync: Fix accept list UAF during suspend
hci update event filter sync() walks hdev->accept list while sending a
synchronous HCI command for each remote-wakeup device. The suspend path
holds hdev->req lock, but accept-list updates are serialized by hdev->lock.
Consequently, remove device() can free the current list entry during the
controller wait.
The following interleaving causes the use-after-free:
hci update event filter sync() remove device()
fetch accept-list entry
hci set event filter sync()
wait for controller response hci dev lock()
list del()
kfree()
hci dev unlock()
read the freed list.next
KASAN reported:
BUG: KASAN: slab-use-after-free in hci suspend sync+0x835/0x910
Read of size 8 at addr ffff88810bec8440 by task kworker/0:1/10
Workqueue: events vhci suspend work
Call Trace:
hci suspend sync+0x835/0x910
hci suspend dev+0x182/0x450
process one work+0x661/0x1090
worker thread+0x45b/0xd10
Allocated by task 86:
hci bdaddr list add with flags+0x1a8/0x400
add device+0x381/0x820
hci sock sendmsg+0x1033/0x1ea0
Freed by task 91:
kfree+0x131/0x3c0
remove device+0x429/0xb70
hci sock sendmsg+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.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux