arduino-esp32 is an Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 microcontrollers. Prior to 3.3.8, the WebServer multipart form parser in arduino-esp32 allocates a Variable Length Array (VLA) on the stack whose size is derived from an attacker-controlled HTTP header field (Content-Type: multipart/form-data; boundary=...) without enforcing any length limit. Sending a boundary string longer than ~8000 characters overflows the 8192-byte task stack of the loopTask, causing a crash and potential remote code execution. This vulnerability is fixed in 3.3.8.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://github.com/espressif/arduino-esp32/security/advisories/GHSA-8cmm-3887-r32j Exploit, Vendor Advisory
- https://github.com/espressif/arduino-esp32/security/advisories/GHSA-8cmm-3887-r32j Exploit, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 9.8 · espressifNVD modified 2026-10-26 14:10
Affected (CPE criteria) 1
cpe:2.3:a:espressif:arduino-esp32:*:-:*:*:*:*:*:*
References 2
- https://github.com/espressif/arduino-esp32/security/advisories/GHSA-8cmm-3887-r32j Exploit, Vendor Advisory
- https://github.com/espressif/arduino-esp32/security/advisories/GHSA-8cmm-3887-r32j Exploit, Vendor Advisory