{"id":"CVE-2026-59177","state":"PUBLISHED","title":"ESPHome Device Builder allows unauthenticated dashboard access via the HA add-on ingress site bound to all interfaces","description":"ESPHome Device Builder Dashboard is a dashboard for the ESPHome home management software. Prior to 1.0.10, the `Home Assistant` add-on's trusted `ingress` site binds to `0.0.0.0` while intentionally skipping dashboard authentication because the supervisor is expected to authenticate requests upstream. Host networking, required for mDNS, also binds this no-auth site to the `Home Assistant` host's LAN interface. Any device on that local network can therefore connect directly to the `ingress` port, bypass the supervisor, and obtain the full dashboard without credentials or operator misconfiguration. Dashboard capability includes compile-time Python execution through `external_components:`, shell execution through compile and validation subprocesses, and arbitrary access to configuration and data files, compromising the mounted `Home Assistant` configuration and managed ESPHome devices. The standalone Docker dashboard and the password-gated public port 6052 are not affected. This issue is fixed in version 1.0.10.","publishedAt":"2026-10-28T13:12:14.620Z","updatedAt":"2026-10-28T13:12:14.620Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["esphome device-builder"],"affected":[{"vendor":"esphome","product":"device-builder","versions":[{"version":"< 1.0.10","status":"affected"}]}],"references":["https://github.com/esphome/device-builder/security/advisories/GHSA-vv4j-m4vr-f3g6","https://github.com/esphome/device-builder/pull/1565","https://github.com/esphome/device-builder/commit/b6387db3f8bf1d3df5771f40e9856b959ae4f6a1","https://github.com/esphome/device-builder/releases/tag/1.0.10"],"weaknesses":["CWE-1327"],"ingestedAt":"2026-10-29T20:12:32.778Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/59xxx/CVE-2026-59177.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-59177","state":"PUBLISHED","datePublished":"2026-10-28T13:12:14.620Z","dateUpdated":"2026-10-28T13:12:14.620Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-07-02T19:53:48.829Z"},"containers":{"cna":{"title":"ESPHome Device Builder allows unauthenticated dashboard access via the HA add-on ingress site bound to all interfaces","descriptions":[{"lang":"en","value":"ESPHome Device Builder Dashboard is a dashboard for the ESPHome home management software. Prior to 1.0.10, the `Home Assistant` add-on's trusted `ingress` site binds to `0.0.0.0` while intentionally skipping dashboard authentication because the supervisor is expected to authenticate requests upstream. Host networking, required for mDNS, also binds this no-auth site to the `Home Assistant` host's LAN interface. Any device on that local network can therefore connect directly to the `ingress` port, bypass the supervisor, and obtain the full dashboard without credentials or operator misconfiguration. Dashboard capability includes compile-time Python execution through `external_components:`, shell execution through compile and validation subprocesses, and arbitrary access to configuration and data files, compromising the mounted `Home Assistant` configuration and managed ESPHome devices. The standalone Docker dashboard and the password-gated public port 6052 are not affected. This issue is fixed in version 1.0.10."}],"affected":[{"vendor":"esphome","product":"device-builder","versions":[{"version":"< 1.0.10","status":"affected"}]}],"references":[{"url":"https://github.com/esphome/device-builder/security/advisories/GHSA-vv4j-m4vr-f3g6","name":"https://github.com/esphome/device-builder/security/advisories/GHSA-vv4j-m4vr-f3g6","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/esphome/device-builder/pull/1565","name":"https://github.com/esphome/device-builder/pull/1565","tags":["x_refsource_MISC"]},{"url":"https://github.com/esphome/device-builder/commit/b6387db3f8bf1d3df5771f40e9856b959ae4f6a1","name":"https://github.com/esphome/device-builder/commit/b6387db3f8bf1d3df5771f40e9856b959ae4f6a1","tags":["x_refsource_MISC"]},{"url":"https://github.com/esphome/device-builder/releases/tag/1.0.10","name":"https://github.com/esphome/device-builder/releases/tag/1.0.10","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"ADJACENT_NETWORK","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-1327","lang":"en","description":"CWE-1327: Binding to an Unrestricted IP Address","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-28T13:12:14.620Z"},"source":{"advisory":"GHSA-vv4j-m4vr-f3g6","discovery":"UNKNOWN"}}}}}