CVE-2026-98809 in LinuxИнформация

Сводка

по VulDB • 18.10.2026

В ядре Linux была устранена следующая уязвимость:

Bluetooth: hci_sync — не очищать очередь (backlog) cmd_sync при отключении устройства

Функция `hci_unregister_dev()` отключает `cmd_work` и `cmd_timer`, а затем вызывает `hci_cmd_sync_clear()`. Вызов `cancel_work_sync()` в этой функции ожидает завершения работы `hci_cmd_sync_work()`. Этот рабочий процесс (worker) извлекает и выполняет каждую запись из списка `cmd_sync_work_list`. Поскольку `cmd_work` отключен, никакие команды не достигают контроллера, поэтому каждая запланированная команда HCI ждет полного времени ожидания `HCI_CMD_TIMEOUT` (2 секунды).

Очередь команд не имеет ограничений. Пользовательское пространство может продолжать добавлять в очередь команды MGMT, такие как `MGMT_OP_GET_CLOCK_INFO`, для контроллера, который не отвечает. Закрытие устройства `/dev/vhci` приводит к блокировке в функции `vhci_release()` на время, равное backlog * 2 секунды:

``` INFO: task syz-executor:5749 blocked for more than 143 seconds. cancel_work_sync hci_cmd_sync_clear hci_unregister_dev vhci_release ```

При локальном воспроизведении очередь содержала более 5000 записей, что приводило к зависанию на несколько часов.

Решение заключается в том, чтобы запретить рабочему процессу принимать новые записи после установки флага `HCI_UNREGISTER`, а также разбудить (wake) любой запрос, который все еще ожидает ответа, с кодом ошибки `-ENODEV` перед отменой работы. Оставшиеся элементы уничтожаются с ошибкой `-ECANCELED` существующей процедурой очистки в `hci_cmd_sync_clear()`. Они остаются в списке до тех пор, пока работа не остановится, поэтому функции `hci_cmd_sync_dequeue()` и аналогичные все еще видят их. Если обратный вызов (callback) уже выполняется, он может выдать другую команду, что задержит отключение устройства максимум на одно время ожидания для каждой оставшейся команды, а не на всё время ожидания всей очереди.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

18.10.2026

Модерация

принято

Вход

VDB-421829

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!