Description
arduino-esp32 is an Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 microcontrollers. Several OTA update examples and the HTTPUpdateServer implementation are vulnerable to Cross-Site Request Forgery (CSRF). The update endpoints accept POST requests for firmware uploads without CSRF protection. This allows an attacker to upload and execute arbitrary firmware, resulting in remote code execution (RCE). This vulnerability is fixed in 3.2.1.
Problem types
CWE-352: Cross-Site Request Forgery (CSRF)
Product status
References
github.com/...-esp32/security/advisories/GHSA-9vfw-wx65-c872
github.com/...ommit/f4fdecc60c465384e465a4b1d2bd1eac8f67912e