피드로 돌아가기
Dev.toSecurity
원문 읽기
Home Assistant Map-card의 저장 XSS 취약점으로 인한 임의 JavaScript 실행 가능 문제를 2026.01 버전 업그레이드와 출력 인코딩 강화로 해결
CVE-2026-33044: CVE-2026-33044: Stored Cross-Site Scripting in Home Assistant Map-Card
AI 요약
Context
Home Assistant 2026.01 이전 버전의 Map-card 컴포넌트에서 인증된 공격자가 기기 엔티티 이름에 악성 JavaScript를 주입할 수 있는 저장 XSS 취약점이 존재했다. 사용자가 대시보드의 과거 이동 데이터 포인트에 마우스를 올렸을 때 주입된 HTML 페이로드가 실행되어 계정 탈취 및 세션 하이재킹 위험이 있었다.
Technical Solution
- Map-card 컴포넌트의 사용자 제어 데이터에 대해 HTML 출력 인코딩 강화 구현
- Home Assistant Core를 2026.01 버전으로 업그레이드하여 취약점 패치 적용
- 임시 완화 조치로 Map-card 설정에서 hours_to_show 속성 비활성화
- 기존 엔티티 이름에 대한 감사 수행으로 승인되지 않은 수정사항 및 HTML 페이로드 확인
- 관리자 인터페이스를 통한 체계적인 업데이트 프로세스: 설정 > 시스템 > 업데이트 진행 후 재시작 모니터링
Key Takeaway
Frontend 컴포넌트에서 사용자 입력이 모든 동적 렌더링 시나리오(마우스 호버 포함)에서 안전하게 처리되도록 설계해야 하며, 특히 저장된 데이터의 출력 인코딩은 재사용성 높은 엔티티 정보의 필수 방어 계층으로 작동해야 한다.
실천 포인트
Home Assistant 같은 대시보드/관리 UI를 구축하는 팀에서는 사용자가 입력하는 모든 이름·라벨·메타데이터를 HTML 엔코딩하여 렌더링하고, 특히 호버·팝업·동적 표시 같은 UX 요소에서도 출력 검증을 누락하지 않으면 저장 XSS 공격 벡터를 사전에 차단할 수 있다.