CVE-2024-29019 json
ESPHome vulnerable to Authentication bypass via Cross site request forgery
published 2024-03-21 2 y ago modified 2026-07-07 4 mo ago also EUVD-2024-0825 , GHSA-5925-88xh-6h99 , PYSEC-2026-1327
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
ESPHome is a system to control microcontrollers remotely through Home Automation systems. 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). 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. 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/ CVE-2024-27287 to obtain a complete takeover of the user account. Version 2024.3.0 contains a patch for this issue.
Patch / fix
- pypi esphome 2024.3.0
- esphome esphome 2024.3.0
- github.com/esphome/esphome@c56c40c commit
- github.com/esphome/esphome#6396 pull request
- github.com/esphome/esphome#6397 pull request
- github.com/esphome/esphome/releases/tag/2024.3.0 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 2 y ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
| OSV | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | esphome | >=2023.12.9, <2024.3.0 |
2024.3.0 |
Affected products
- esphome esphome
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
References
-
github.com
/esphome/esphome/pull/6396
web
-
github.com
/esphome/esphome/pull/6397
web
-
github.com
/esphome/esphome/commit/c56c40cb824e34ed2b89ba1cb8a3a5eb31459c74
web
-
github.com
/esphome/esphome/security/advisories/GHSA-5925-88xh-6h99
web
-
github.com
/advisories/GHSA-9p43-hj5j-96h5
advisory
-
nvd.nist.gov
/vuln/detail/CVE-2024-29019
advisory
-
github.com
/esphome/esphome
package
-
github.com
/esphome/esphome/releases/tag/2024.3.0
web
-
pypi.org
/project/esphome
package
-
github.com
/advisories/GHSA-5925-88xh-6h99
advisory
Sources
- CVE List CVE-2024-29019
- GitHub Advisory GHSA-5925-88xh-6h99
- NVD CVE-2024-29019
- OSV PYSEC-2026-1327
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.