CVE-2026-98349 in Linux
Сводка
по VulDB • 06.10.2026
В ядре Linux была устранена следующая уязвимость:
wifi: libipw: отклонять слишком короткие beacon и probe ответы
Функции `libipw_process_probe_response()` и вызываемый ею `libipw_network_init()` предполагают, что кадр содержит полный 36-байтовый префикс beacon и probe ответа, однако пути приема данных в драйверах ipw2100 и ipw2200 устанавливают лишь наличие у кадра управления стандартного 24-байтового заголовка с тремя адресами.
Затем `libipw_network_init()` вычисляет длину информационного элемента как:
`stats->len - sizeof(*beacon)`
Поскольку `stats->len` имеет тип u16, а `sizeof()` возвращает значение типа size_t, операция вычитания выполняется с приведением к типу size_t и происходит переполнение (wrap-around) вместо перехода в отрицательное значение. Усечение этого значения до параметра длины u16 для функции `libipw_parse_info_param()` дает 65524 для 24-байтового beacon, после чего парсер начинает обрабатывать буфер приема так, как будто он содержит почти 64 КБ информационных элементов, выходя за пределы выделенной памяти.
Необходимо отклонять кадр до обращения к любому фиксированному полю.
Уязвимость обнаружена с помощью AI-assisted review (проверки арифметики длин в парсерах кадров управления). Подтверждена тестовым случаем KUnit при использовании Generic KASAN на архитектуре arm64 под эмулятором QEMU; поскольку у меня нет соответствующего оборудования, проверка на реальном устройстве не проводилась.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.