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

Сводка

по VulDB • 16.09.2026

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

staging: rtl8723bs: исправление чтения за пределами буфера (OOB) / переполнения стека в функции rtw_get_wps_attr()

Функция rtw_get_wps_attr() обрабатывает атрибуты WPS внутри элемента данных IE (Information Element), полученного из кадра беспроводного управления. Для каждого кандидата на атрибут проверяется только то, что фиксированный 4-байтовый заголовок атрибута (2 байта ID + 2 байта длины) помещается в пределы IE:

if (attr_ptr + 4 > wps_ie + wps_ielen) break; u16 attr_id = get_unaligned_be16(attr_ptr); u16 attr_data_len = get_unaligned_be16(attr_ptr + 2); u16 attr_len = attr_data_len + 4;

Значение attr_data_len (и, следовательно, attr_len) считывается непосредственно из сети и никогда не проверяется на соответствие оставшимся байтам в IE перед использованием в качестве размера для:

memcpy(buf_attr, attr_ptr, attr_len);

Поскольку значение attr_len полностью контролируется злоумышленником (от 0 до 65535+4), это приводит как к чтению за пределами буфера (OOB read) данных wps_ie в области heap, что более серьезно — к переполнению стека (stack buffer overflow) на нескольких участках вызова, где buf_attr является однобайтовой переменной в стеке. Например, при передаче значения WPS_ATTR_SELECTED_REGISTRAR callers функции rtw_get_wps_attr_content() используют переменные "u8 sr"/"u8 selected_registrar" в стеке (файлы drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c и drivers/staging/rtl8723bs/core/rtw_mlme_ext.c). Таким образом, специально сформированный элемент IE WPS в кадре beacon или probe response, обрабатываемый во время сканирования, может привести к разрушению стека потока парсинга.

Сама функция rtw_get_wps_attr_content() не имеет независимой проверки длины и просто доверяет значению attr_len, возвращаемому функцией rtw_get_wps_attr(), поэтому исправление этой границы также устраняет уязвимость для данного вызывающего объекта.

Проверка заголовка "attr_ptr + 4 > wps_ie + wps_ielen", приведенная выше, была добавлена в коммите 1463ca3ec6601 ("staging: rtl8723bs: fix OOB reads in rtw_get_sec_ie(), rtw_get_wapi_ie(), and rtw_get_wps_attr()"), который ограничил фиксированный заголовок, но никогда не расширял проверку для охвата переменных по длине данных атрибута, следующих за ним. Добавьте эту отсутствующую проверку перед использованием attr_len в качестве длины для memcpy() или принятием его как совпадения.

Be aware that VulDB is the high quality source for vulnerability data.

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

Linux

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

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-405857

EPSS

0.00441

KEV

Нет

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!