PT-2026-121992

CVE-2026-99015

·

Published

2026-10-23

·

Updated

2026-10-23

Description by

Score
N/A
Not available

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 sock: Serialize dead-device detachment
Rebinding an HCI socket after its controller is unregistered can race monitor control replay and crash the kernel. hci sock bind() clears hci pi(sk)->hdev and drops the device reference under only the socket lock, whereas send monitor control replay() holds hci sk list.lock for reading.
Replay can observe a non-NULL hdev, then bind can clear it and drop the last reference before create monitor ctrl open() reads hdev->id. This can cause a NULL pointer dereference if the pointer is reloaded, or a use-after-free if the old pointer is retained.
The kernel reported:
KASAN: null-ptr-deref in range [0x0000000000000068-0x000000000000006f] RIP: 0010:create monitor ctrl open+0x579/0x800 Call Trace: hci sock bind+0xd96/0x1190 sys bind+0x166/0x200 x64 sys bind+0x6d/0xb0 do syscall 64+0xdd/0x4a0 entry SYSCALL 64 after hwframe+0x77/0x7f
The same missing serialization lets hci send to sock() select a socket for the old device and queue its frame after bind has detached the socket or installed a new binding.
Take hci sk list.lock for writing when clearing the device pointer and resetting the socket state. This waits for existing replay and delivery readers to finish before detachment and prevents later readers from using the old binding. Keep hci dev put() outside the critical section because the final device release can sleep.
Vendors
Affected products
Related identifiers
Found an issue in the description? Have something to add? Feel free to write us 👾