🇰🇷 한글 설명
ESPHome Device Builder Dashboard의 1.0.10 이전 버전에서 Home Assistant 애드온의 신뢰된 ingress 사이트가 0.0.0.0에 바인딩되고 대시보드 인증을 생략합니다. 호스트 네트워킹으로 인해 이 인증 없는 사이트가 LAN 인터페이스에도 노출되어, 같은 로컬 네트워크의 임의 기기가 인증 없이 대시보드 전체에 접근할 수 있습니다.
💡 쉬운 설명
같은 집 와이파이에 연결된 누구나 인증 없이 ESPHome 대시보드에 직접 접속할 수 있는 문제입니다. 접속 후에는 설정 파일과 연결된 기기들을 조작하거나 Home Assistant 구성을 탈취할 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
ESPHome Device Builder Dashboard 1.0.10 미만의 Home Assistant ESPHome 애드온 (호스트 네트워킹 사용 환경)
⚔️ 공격 벡터
같은 로컬 네트워크의 공격자가 supervisor를 거치지 않고 ingress 포트에 직접 접속한 뒤, 인증 없이 external_components 등을 통해 Python/셸 명령을 실행
🛡️ 대응 방법
ESPHome Device Builder Dashboard를 1.0.10 이상으로 업데이트하고, 필요시 해당 포트를 신뢰되지 않은 네트워크에서 차단
🔧 검증 코드
설치된 이미지 태그 또는 애드온 설정의 버전 정보를 확인하여 1.0.10 미만이면 취약하며, 1.0.10 이상이면 패치가 적용된 것입니다.
docker ps --format '{{.Image}}' | grep -i esphome; ls /data 2>/dev/null; cat /data/config.yaml 2>/dev/null | grep -i version