ESF-IDF — это платформа разработки Интернета вещей (IOT) Espressif. В версиях 5.5.2, 5.4.3, 5.3.4, 5.2.6 и 5.1.6 в реализации подписчика WPS (защищенной настройки Wi-Fi) существует уязвимость, из-за которой неверные пакеты EAP-WSC с усеченными полезными данными могут привести к потере целочисленного значения во время расчета длины фрагмента. При обработке сообщений EAP-Expanded (WSC) код вычисляет frag_len, вычитая размеры заголовков из общей длины пакета.
Если злоумышленник отправляет пакет, в котором поле длины EAP охватывает только заголовок и флаги, но не включает ожидаемую полезную нагрузку (например, 2-байтовое поле длины сообщения, когда установлен WPS_MSG_FLAG_LEN), frag_len становится отрицательным. Это отрицательное значение затем неявно преобразуется в size_t при передаче в wpabuf_put_data(), что приводит к очень большому беззнаковому значению. Эта проблема исправлена в версиях 5.5.3, 5.4.4, 5.3.5, 5.2.7 и 5.1.7.
Показать оригинальное описание (EN)
ESF-IDF is the Espressif Internet of Things (IOT) Development Framework. In versions 5.5.2, 5.4.3, 5.3.4, 5.2.6, and 5.1.6, a vulnerability exists in the WPS (Wi-Fi Protected Setup) Enrollee implementation where malformed EAP-WSC packets with truncated payloads can cause integer underflow during fragment length calculation. When processing EAP-Expanded (WSC) messages, the code computes frag_len by subtracting header sizes from the total packet length. If an attacker sends a packet where the EAP Length field covers only the header and flags but omits the expected payload (such as the 2-byte Message Length field when WPS_MSG_FLAG_LEN is set), frag_len becomes negative. This negative value is then implicitly cast to size_t when passed to wpabuf_put_data(), resulting in a very large unsigned value. This issue has been patched in versions 5.5.3, 5.4.4, 5.3.5, 5.2.7, and 5.1.7.
Характеристики атаки
Последствия
Строка CVSS v3.1