arduino-esp32 vulnerable to CRLF injection in WebServer.cpp
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
arduino-esp32 provides an Arduino core for the ESP32. Versions prior to 3.3.0-RC1 and 3.2.1 contain a HTTP Response Splitting vulnerability. The `sendHeader` function takes arbitrary input for the HTTP header name and value, concatenates them into an HTTP header line, and appends this to the outgoing HTTP response headers. There is no validation or sanitization of the `name` or `value` parameters before they are included in the HTTP response. If an attacker can control the input to `sendHeader` (either directly or indirectly), they could inject carriage return (`\r`) or line feed (`\n`) characters into either the header name or value. This could allow the attacker to inject additional headers, manipulate the structure of the HTTP response, potentially inject an entire new HTTP response (HTTP Response Splitting), and/or ause header confusion or other HTTP protocol attacks. Versions 3.3.0-RC1 and 3.2.1 contain a fix for the issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA arduino-esp32 (espressif) Fixed in 3.2.1, 3.3.0-RC1
Timeline
- 2026-10-02 Threatist record created from CVE-2025-53007
References
Other 4
- https://github.com/espressif/arduino-esp32/security/advisories/GHSA-5476-9jjq-563m
- https://github.com/espressif/arduino-esp32/commit/21640ac82a1bb5efa8cf0b3841be1ac80add6785
- https://github.com/espressif/arduino-esp32/blob/9e61fa7e4bce59c05cb17c15b11b53b9bafca077/libraries/WebServer/src/WebServer.cpp#L504-L521
- https://github.com/espressif/arduino-esp32/blob/9e61fa7e4bce59c05cb17c15b11b53b9bafca077/libraries/WebServer/src/WebServer.cpp#L577-L582
More espressif vulnerabilities
- TI-2026-31061 arduino-esp32: Stack buffer overflow in WebServer multipart boundary parsing leads to remote crash potential RCE CVSS 3.1CRITICAL 9.8
- TI-2024-30765 Multiple Poisoned Pipeline Execution (PPE) vulnerabilities CVSS 3.1CRITICAL 10.0
- TI-2026-30028 Improper validation of NBNS name_len in arduino-esp32 NetBIOS leads to memory corruption CVSS 3.1HIGH 8.8
- TI-2025-33484 CSRF Vulnerability in Firmware Update Endpoints Allows Remote Code Execution CVSS 4.0HIGH 8.7
- TI-2024-22076 Buffer Overflow vulnerability in esp-idf v.5.1 allows a remote attacker to execute… CVSS 3.1MEDIUM 6.5
- TI-2026-85138 Unvalidated stack pointer at ESP-TEE boundary in esp-idf CVSS 3.1CRITICAL 9.3
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences