ESPAsyncWebServer: Integer overflow in multipart boundary parser causes denial of service
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 8.7epss 0.3%
exploitation probability
0.3%top 77% of all CVEs
observed exploitation
nono source reports it
ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. Prior to 3.11.1, the multipart/form-data parser in src/WebRequest.cpp stores _boundaryPosition as an 8-bit value while _parseMultipartPostByte processes the boundary. A remote request containing an exactly 256-byte multipart boundary wraps _boundaryPosition from 255 to zero, prevents the boundary parsing loop from terminating, consumes excessive CPU, and triggers a FreeRTOS watchdog reset on affected ESP32 or ESP8266 devices. This issue is fixed in version 3.11.1.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Affected products
ESP32Async · ESPAsyncWebServerReferences
https://github.com/ESP32Async/ESPAsyncWebServer/commit/b928de7cbd7debcd6266ece6a6c46f10a86d3a6fhttps://github.com/ESP32Async/ESPAsyncWebServer/pull/445https://github.com/ESP32Async/ESPAsyncWebServer/releases/tag/v3.11.1https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-4phx-fcj6-46r4