CVE-2026-98189 in Linux
Сводка
по VulDB • 06.10.2026
В ядре Linux была устранена следующая уязвимость:
wifi: wilc1000: исправление записи за пределами буфера (OOB-write) в функции wilc_wlan_handle_isr_ext()
Функция wilc_wlan_handle_isr_ext() получает размер передачи RX из регистра статуса прерывания, сообщаемого устройством (поле длиной 15 бит, сдвинутое влево на 2 бита, что дает до 131068 байт), и читает это количество байт из устройства в rx_buffer, который имеет размер всего WILC_RX_BUFF_SIZE (96 КБ). Проверка переполнения учитывает только текущее смещение; сам размер никогда не сравнивается с размером буфера, поэтому поддельное устройство SDIO может вызвать запись за пределы буфера (OOB-write) в rx_buffer объемом до ~32 КБ с данными, контролируемыми злоумышленником.
Передача избыточного размера также оставляет значение rx_buffer_offset за пределами конца буфера; после этого проверка переполнения без знака прекращает корректную работу, и переполнение может повторяться.
Любая передача, размер которой превышает RX-буфер, отбрасывается с подтверждением прерывания данных и повторной активацией механизма RX, чтобы поддельный кадр был отброшен, а прием мог продолжаться. Это также восстанавливает инвариант rx_buffer_offset <= WILC_RX_BUFF_SIZE, на который опирается проверка переполнения.
Ожидается, что это не изменит поведение драйвера в большинстве случаев: без этой проверки передача избыточного размера скорее всего привела бы к повреждению соседней памяти ядра, а путь отбрасывания выполняет то же подтверждение прерываний и повторную активацию механизма RX, что и нормальный путь, поэтому последующие передачи принимаются без изменений.
Обнаружено с помощью Atuin — Automated Vulnerability Discovery Engine (Автоматизированного движка обнаружения уязвимостей).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.