CVE-2025-53007: arduino-esp32 vulnerable to CRLF injection in WebServer.cpp
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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2025-53007?
CVE-2025-53007 is considered a medium severity vulnerability due to its potential impact on HTTP response behaviors.
How do I fix CVE-2025-53007?
To mitigate CVE-2025-53007, upgrade to version 3.3.0-RC1 or later, or version 3.2.1 or later of the arduino-esp32.
What types of applications are affected by CVE-2025-53007?
CVE-2025-53007 affects applications using the arduino-esp32 library versions prior to 3.3.0-RC1 and 3.2.1.
What specific component of arduino-esp32 does CVE-2025-53007 involve?
CVE-2025-53007 involves the `sendHeader` function that improperly handles user input when setting HTTP headers.
Can CVE-2025-53007 lead to security breaches?
Yes, CVE-2025-53007 can potentially enable HTTP response splitting, which may facilitate attacks such as web cache poisoning.