- Top reward
- $1,500
- Top severity paid
- Critical
- Assets in scope
- 11
- Public CVEs
- 6
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays from $1,500
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| Critical | $1,500+ | |
| High | $700+ | |
| Medium | $300+ | |
| Low |
|
$100 $100 / 1 month Claude Max |
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
11 assets you may test, 6 excluded.
Web 1
- https://esphome.io
Products and areas 10
- Protocol components that read data from external hardware, covering the infrared and RF remote receivers, the Zigbee, Modbus, UART and CAN bus components and the long tail of sensor drivers
- The Bluetooth Low Energy components: the BLE tracker, the proxy that relays another device's traffic back to Home Assistant, and every BLE client component that parses advertisements
- The bundled web server component and its authentication, along with the captive portal and improv provisioning flows that run before a device is on the network
- The ESPHome dashboard and its API, which builds and flashes firmware and holds every device's secrets
- The MQTT client, the credentials it holds, and both what it publishes and what it accepts from a broker
- The native API server, the protocol Home Assistant uses to talk to a device, including its noise encryption handshake and the authentication that gates it
- The over-the-air update path: the OTA password check, the transfer protocol and the image validation that decides what firmware gets written to flash
- The policy accepts security vulnerabilities in ESPHome and points reporters at a published threat model that defines the trust boundaries. Anyone who can edit a device configuration counts as trusted, and everything below sits outside that trusted position
- The Python build toolchain that compiles a configuration into firmware, including config validation and the external components mechanism
- Wi-Fi provisioning and stored credentials, including whatever a device leaks while it is sitting in access-point mode
Out of scope (6)
- Configuration-driven code execution by someone who can already edit a device config; the published threat model states that person is trusted
- Denial of service against a device by flooding its network or radio interface
- Espressif's own code, including ESP-IDF and the Arduino ESP32 core, which carries a separate paid programme at [email protected]
- Home Assistant Core and Supervisor defects, which belong to that project's own policy and advisory stream
- Physical attacks on a device an attacker already holds, including reading flash over the serial header
- Third-party external components pulled in from outside the ESPHome tree
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy. "We" in these lines means Sorona, not this site.
While testing
-
Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly.
-
Report through GitHub private vulnerability reporting on esphome/esphome, which the project enables
-
The security policy lives in the org-level esphome/.github repository rather than in the project repo, so read it there before filing
-
Read the published THREAT_MODEL.md first. It states that anyone able to edit a device configuration is already trusted with code execution, so config-injection findings are documented as out of scope
-
Name the platform and framework. ESP8266, ESP32 on Arduino and ESP32 on ESP-IDF are different builds, and a defect may exist in only one of them
-
If the defective code is Espressif's rather than ESPHome's, say so and take it to Espressif, which runs a paid programme at the address on the policy page for issues in its own software
-
Include the YAML configuration that produced the firmware you tested, since the generated code varies enormously with the components enabled
-
The policy states plainly that an open source project cannot offer bounties and offers a credit line instead, so there is no payment to negotiate upstream
Not accepted
-
Configuration-driven code execution by someone who can already edit a device config
-
Espressif's own code, including ESP-IDF and the Arduino ESP32 core
-
Home Assistant Core and Supervisor defects
-
Third-party external components pulled in from outside the ESPHome tree
-
Physical attacks on a device an attacker already holds, including reading flash over the serial header
-
Denial of service against a device by flooding its network or radio interface
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 1 hour ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-23833 | ESPHome is a system to control microcontrollers remotely through Home Automation systems. In versions 2025.9.0 through 2025.12.6, an integer overflow in the API component's protobuf decoder allows denial-of-service attacks when API encryption is not used. The bounds check `ptr + field_length > end` in `components/api/proto.cpp` can overflow when a malicious client sends a large `field_length` valu | Low 1.7 | 19 Jan 2026 |
| CVE-2025-57808 | ESPHome is a system to control microcontrollers remotely through Home Automation systems. In version 2025.8.0 in the ESP-IDF platform, ESPHome's web_server authentication check can pass incorrectly when the client-supplied base64-encoded Authorization value is empty or is a substring of the correct value. This allows access to web_server functionality (including OTA, if enabled) without knowing an | High 8.1 | 2 Sep 2025 |
| CVE-2024-27287 | ESPHome is a system to control your ESP8266/ESP32 for Home Automation systems. Starting in version 2023.12.9 and prior to version 2024.2.2, editing the configuration file API in dashboard component of ESPHome version 2023.12.9 (command line installation and Home Assistant add-on) serves unsanitized data with `Content-Type: text/html; charset=UTF-8`, allowing a remote authenticated user to inject a | Medium 6.5 | 6 Mar 2024 |
| CVE-2024-27081 | ESPHome is a system to control your ESP8266/ESP32. A security misconfiguration in the edit configuration file API in the dashboard component of ESPHome version 2023.12.9 (command line installation) allows authenticated remote attackers to read and write arbitrary files under the configuration directory rendering remote code execution possible. This vulnerability is patched in 2024.2.1. | High 7.2 | 26 Feb 2024 |
| CVE-2021-41104 | ESPHome is a system to control the ESP8266/ESP32. Anyone with web_server enabled and HTTP basic auth configured on version 2021.9.1 or older is vulnerable to an issue in which `web_server` allows over-the-air (OTA) updates without checking user defined basic auth username & password. This issue is patched in version 2021.9.2. As a workaround, one may disable or remove `web_server`. | High 7.5 | 28 Sep 2021 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability CVE history 2 Last 12 months 6 Lifetime Auth bypass 40 % Access control 25 % Memory safety 20 % Info disclosure 15 % Latest advisories Loading the feed Overview ESPHome turns a YAML configuration into firmware for ESP8266 and ESP32 hardware, and it runs on millions of smart plugs, switches and sensors permanently joined to their owner's Home Assistant instance over a local API. A device speaking that API holds a credential into the household's automation hub, so a flaw in the firmware reaches further than the one plug it runs on. CVE-2025-57808 is the reference point: an authentication bypass in the bundled web server, published as an ESPHome advisory even though the defective code came from Espressif. The project states in writing that it cannot offer bounties, so sorona.xyz pays you directly on qualified, reproduced findings. In scope The policy accepts security vulnerabilities in ESPHome and points reporters at a published threat model that defines the trust boundaries. Anyone who can edit a device configuration counts as trusted, and everything below sits outside that trusted position The native API server, the protocol Home Assistant uses to talk to a device, including its noise encryption handshake and the authentication that gates it The over-the-air update path: the OTA password check, the transfer protocol and the image validation that decides what firmware gets written to flash The bundled web server component and its authentication, along with the captive portal and improv provisioning flows that run before a device is on the network The MQTT client, the credentials it holds, and both what it publishes and what it accepts from a broker Wi-Fi provisioning and stored credentials, including whatever a device leaks while it is sitting in access-point mode The Bluetooth Low Energy components: the BLE tracker, the proxy that relays another device's traffic back to Home Assistant, and every BLE client component that parses advertisements Protocol components that read data from external hardware, covering the infrared and RF remote receivers, the Zigbee, Modbus, UART and CAN bus components and the long tail of sensor drivers The Python build toolchain that compiles a configuration into firmware, including config validation and the external components mechanism The ESPHome dashboard and its API, which builds and flashes firmware and holds every device's secrets Out of scope Configuration-driven code execution by someone who can already edit a device config; the published threat model states that person is trusted Espressif's own code, including ESP-IDF and the Arduino ESP32 core, which carries a separate paid programme at [email protected] Home Assistant Core and Supervisor defects, which belong to that project's own policy and advisory stream Third-party external components pulled in from outside the ESPHome tree Physical attacks on a device an attacker already holds, including reading flash over the serial header Denial of service against a device by flooding its network or radio interface Most-valued findings Authentication bypass on the native API or the bundled web server, the class CVE-2025-57808 landed in, since either one is remote access to a device sitting inside somebody's home network Anything that gets unsigned or attacker-chosen firmware onto a device through the OTA path, which is a permanent implant on hardware nobody inspects again Recovery of the API encryption key, the OTA password or stored Wi-Fi credentials from a device or from its network traffic Memory corruption in a component that parses input from radio or from a bus: BLE advertisements, infrared and RF codes, Modbus and UART frames all arrive with no authentication in front of them Provisioning defects in the captive portal or improv flows, where a device is briefly reachable by anyone in range and hands over network access Anything reachable from a compromised MQTT broker or a hostile Home Assistant instance that turns into code execution on the device Defects in the dashboard or the build toolchain that let a hostile configuration or external component execute on the build machine, which typically holds every device's secrets at once Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Report through GitHub private vulnerability reporting on esphome/esphome, which the project enables The security policy lives in the org-level esphome/.github repository rather than in the project repo, so read it there before filing Read the published THREAT_MODEL.md first. It states that anyone able to edit a device configuration is already trusted with code execution, so config-injection findings are documented as out of scope Name the platform and framework. ESP8266, ESP32 on Arduino and ESP32 on ESP-IDF are different builds, and a defect may exist in only one of them If the defective code is Espressif's rather than ESPHome's, say so and take it to Espressif, which runs a paid programme at [email protected] for issues in its own software Include the YAML configuration that produced the firmware you tested, since the generated code varies enormously with the components enabled The policy states plainly that an open source project cannot offer bounties and offers a credit line instead, so there is no payment to negotiate upstream Disclosure Coordinated privately through GitHub and published as a GitHub Security Advisory alongside a release. Volume is low, two advisories in the last year against six ever published, so triage is unlikely to be instant. Bear in mind that a firmware fix only reaches a device when its owner rebuilds and reflashes, and a great many ESPHome devices are never touched again after installation, so treat public disclosure as the start of a long tail rather than the end of the exposure. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability