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.
Показать оригинальное описание (английский)
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 ВЕКТОРА
CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
Тип уязвимости (CWE)
Источники и патчи
- https://github.com/espressif/esp-idf/commit/60f992a26de17bb…
- https://github.com/espressif/esp-idf/commit/6f6766f917bc940…
- https://github.com/espressif/esp-idf/commit/73a587d42a57ece…
- https://github.com/espressif/esp-idf/commit/b209fae993d7952…
- https://github.com/espressif/esp-idf/commit/b88befde6b5addc…
- https://github.com/espressif/esp-idf/commit/cad36beb4cde27a…
- https://github.com/espressif/esp-idf/commit/de28801e8ea6a73…
- https://github.com/espressif/esp-idf/security/advisories/GH…