
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-59177 is an authentication bypass vulnerability in the ESPHome Device Builder Home Assistant add-on, caused by the trusted ingress dashboard site binding to all network interfaces (0.0.0.0) instead of only the supervisor's internal network. Because the add-on runs in host network mode for mDNS, this exposed the unauthenticated ingress dashboard directly on the host's LAN interface, allowing any device on the local network to access the full dashboard without credentials. The vulnerability affects esphome-device-builder (pip) versions prior to 1.0.10 and was present by default on every host-network HA add-on installation since the ingress site was introduced. It was disclosed on June 20, 2026, with the advisory published to the GitHub Advisory Database on September 9, 2026. It carries a CVSS v3.1 base score of 8.8 (High) (GitHub Advisory, ESPHome Advisory).
The root cause is CWE-1327 (Binding to an Unrestricted IP Address): the trusted HA ingress site was configured to bind 0.0.0.0 (all interfaces) rather than restricting itself to the supervisor's internal Docker network addresses. The ESPHome add-on's security model relies on the Home Assistant supervisor to authenticate browser requests upstream before proxying them to the ingress site, which intentionally skips its own authentication. However, because the add-on uses host networking for mDNS, binding 0.0.0.0 also bound the host's physical LAN interface, making the no-auth dashboard reachable directly from the local network without passing through the supervisor's authentication proxy. The attack requires only network adjacency (LAN access) — no credentials, no user interaction, and no special configuration — making exploitation trivially simple for any device on the same network segment, including IoT devices, guest network clients, or compromised hosts (GitHub Advisory, Fix PR).
Any device on the same local network as the Home Assistant host could access the full ESPHome dashboard with no credentials, gaining capabilities documented as host-equivalent in ESPHome's threat model. This includes executing arbitrary Python code at compile time via external_components:, running arbitrary shell commands through compile and validation subprocesses, and reading or writing arbitrary files in the config and data directories — effectively achieving full compromise of the add-on. The Home Assistant config directory mounted by the add-on and all ESPHome-managed IoT devices are also at risk, enabling lateral movement to connected smart home infrastructure. The exposure was present by default on every host-network HA add-on installation with no operator misconfiguration required (ESPHome Advisory).
No public proof-of-concept exploit code has been identified, and there is no confirmed evidence of in-the-wild exploitation as of the advisory date. The vulnerability requires only adjacent network access (LAN), no credentials, and no user interaction, making it trivially exploitable by any attacker already on the local network. A Nuclei detection template was added to the ProjectDiscovery nuclei-templates repository (commit dc18055, released in v10.4.9), indicating the security community has developed automated detection capability. The CVE status remains "Reserved" and no CISA KEV listing or threat actor attribution has been identified (GitHub Advisory, Nuclei Templates).
nmap) to discover hosts running the ESPHome add-on. Look for open ports corresponding to the ingress port (default 8099).ingress_port to the supervisor. Scan for port 8099 (or the configured ingress port) on the Home Assistant host's LAN IP address.http://<ha-ip>:<ingress_port>/ from any device on the same LAN. On vulnerable versions (< 1.0.10), the dashboard loads with full authenticated capability and no credential prompt.external_components: in a device configuration, or leverage the compile/validation subprocesses to execute arbitrary shell commands on the host.http://<ha-ip>:8099/ (or the configured ingress port) originating from LAN clients other than 127.0.0.1 or 172.30.32.2; unusual outbound connections from the Home Assistant host to unknown external IPs following dashboard access.ingress_peer_guard with message "Ingress peer guard rejected non-trusted source <IP>" indicating attempted exploitation.configuration.yaml, secrets.yaml, or token files).bash, python, curl, wget) not associated with normal device compilation activity (ESPHome Advisory, Fix Commit).Upgrade esphome-device-builder to version 1.0.10 or newer, which binds the ingress site only to loopback (127.0.0.1) and the supervisor gateway (172.30.32.1) and adds an ingress_peer_guard middleware that returns HTTP 403 to any TCP peer other than loopback or the supervisor (172.30.32.2). The fix is delivered via the esphome container when it bundles device-builder 1.0.10+. For those unable to upgrade immediately, apply a host or router firewall rule restricting access to the ingress port (default 8099) to only the Home Assistant host and supervisor, and ensure the Home Assistant host is on a trusted, isolated LAN segment. Accessing the dashboard through Home Assistant's normal ingress URL remains unaffected and authenticated; the password-gated public port (6052) is also not affected (ESPHome Advisory, Fix PR).
The fix was authored and merged by bdraco (a core ESPHome contributor) on June 18, 2026, with the security advisory published on June 20, 2026. The PR review noted the fix as "defense in depth done right" for implementing two independent security layers (restricted bind address plus TCP peer guard) rather than relying on either alone. The vulnerability was discovered during an investigation into an unrelated authentication bug (issue #1560), highlighting the value of security-adjacent code review. A Nuclei detection template was subsequently added to the ProjectDiscovery community templates, indicating broader security community awareness (Fix PR, Nuclei Templates).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."