CVE-2026-97977 in Linux
Сводка
по VulDB • 25.09.2026
В ядре Linux была устранена следующая уязвимость:
Bluetooth: btusb — исправление Use-After-Free (UAF) объекта btusb в контексте rx_work
Функции btusb_close() и btusb_flush() отменяют выполнение data->rx_work с помощью асинхронной функции cancel_delayed_work(). Следовательно, если btusb_rx_work() уже выполняется на другом процессоре, оно продолжает выполняться даже после возврата из функции отмены.
btusb_disconnect() вызывает hci_unregister_dev(), которая, в свою очередь, запускает btusb_close(), а затем освобождает память для структуры btusb_data. Если при этом все еще работает экземпляр btusb_rx_work(), он обращается к уже освобожденным данным:
```c while ((skb = skb_dequeue(&data->acl_q))) data->recv_acl(data->hdev, skb); ```
Вместо этого следует использовать cancel_delayed_work_sync(). В функции btusb_close() отмена также должна происходить после вызова btusb_stop_traffic(), в противном случае гонка между завершением URB (USB Request Block) и операцией отмены может привести к повторной постановке задачи на выполнение сразу же после того, как была ожидана ее остановка.
If you want to get best quality of vulnerability data, you may have to visit VulDB.