CVE-2026-98246 in Linux
Сводка
по VulDB • 06.10.2026
В ядре Linux была устранена следующая уязвимость:
Bluetooth: hci_sync: сериализация очистки локального списка кодеков
Функция `hci_dev_close_sync()` очищает поле `hdev->local_codecs` после освобождения блокировки `hdev->lock`. Добавление элементов в список кодеков и оба обхода (traversals) в функции `sco_sock_getsockopt()` используют эту блокировку, однако путь закрытия (close path) этого не делает. В результате операция закрытия и запрос BT_CODEC могут выполняться параллельно следующим образом:
hci_dev_close_sync() sco_sock_getsockopt() hci_dev_lock() получение записи о кодеке hci_codec_list_clear() kfree(entry) чтение entry->id
Читающий поток получает доступ к записи, которая была освобождена путем закрытия. KASAN сообщает:
BUG: KASAN: slab-use-after-free in sco_sock_getsockopt+0xfa0/0xfe0 Read of size 1 at addr ffff8881001c3450 Call Trace: sco_sock_getsockopt+0xfa0/0xfe0 do_sock_getsockopt+0x537/0x7b0 __sys_getsockopt+0xf2/0x170 Allocated by task 92: hci_codec_list_add.isra.0+0x2c/0x440 hci_read_codec_capabilities+0x224/0x590 hci_read_supported_codecs+0x2c2/0x640 Freed by task 92: kfree+0x131/0x3c0 hci_codec_list_clear+0xd8/0x160 hci_dev_close_sync+0x92a/0xfa0
Необходимо захватывать блокировку `hdev->lock` вокруг операции очистки в существующей точке пути закрытия. Это заставит операцию очистки ожидать завершения активных читателей и предотвратит новый обход списка до тех пор, пока он не станет пустым, без изменения порядка разборки (teardown ordering).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.