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

Сводка

по VulDB • 06.10.2026

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

Bluetooth: hci_qca — не записывать в последовательный порт после его закрытия

Функция `hci_uart_close()` закрывает порт serdev, если установлен флаг HCI_QUIRK_NON_PERSISTENT_SETUP (например, для семейства WCN399x). При сбое функции `hci_dev_open_sync()`, следующей за успешным выполнением `qca_setup()`, вызывается `hdev->close()`, но не `hdev->shutdown()`; в результате порт закрывается, а флаг `power->vregs_on` остается установленным. Затем функция `qca_serdev_remove()` проходит проверку условия `power->vregs_on` и вызывает `qca_power_off()`, которая безоговорочно выполняет запись в закрытый порт.

Проблема наблюдалась на устройстве WCN3988 при отвязке драйвера после сбоя контроллера. Приведенный ниже трассировка получен из ядра версии 7.0.0, где функция `qca_power_off()` все еще называлась `qca_power_shutdown()`:

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000038 Call trace: tty_set_termios+0x50/0x238 (P) ttyport_set_baudrate+0x84/0xc0 serdev_device_set_baudrate+0x24/0x40 qca_power_shutdown+0x158/0x1fc [hci_uart]
qca_serdev_remove+0x54/0x68 [hci_uart]
serdev_drv_remove+0x1c/0x2c device_remove+0x4c/0x80 device_release_driver_internal+0x1cc/0x224 device_driver_detach+0x18/0x24 unbind_store+0xb4/0xc0

Необходимо проверять флаг HCI_UART_PROTO_READY, который `hci_uart_close()` сбрасывает в том же месте, где закрывается порт, перед выполнением записи. Отключение регулятора остается безоговорочным, чтобы контроллер оставался обесточенным.

Проблема с «висящим» указателем `serport->tty`, которая превращает эту ситуацию в Use-After-Free (использование после освобождения), решена в отдельном патче.

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

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

Linux

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

25.09.2026

Раскрытие

06.10.2026

Модерация

принято

Вход

VDB-414236

EPSS

0.00173

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!