GHSA-5925-88xh-6h99HighCVSS 8.1

ESPHome vulnerable to Authentication bypass via Cross site request forgery

Published
March 21, 2024
Last Modified
April 21, 2024

🔗 CVE IDs covered (1)

📋 Description

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:

<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:

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 products1

  • pip/esphome:>= 2023.12.9, < 2024.3.0

🔗 References (8)