🇰🇷 한글 설명
Pi-hole 관리 인터페이스의 queries.js 내 formatInfo() 함수에서 데이터 이스케이프 처리가 누락되어 저장형 HTML 인젝션 취약점이 존재합니다. 쿼리 로그에서 행을 확장할 때 특정 필드가 HTML로 렌더링될 수 있으나, 서버의 CSP 설정으로 인해 자바스크립트 실행은 차단됩니다. 이 문제는 6.5 버전에서 수정되었습니다.
💡 쉬운 설명
Pi-hole 관리 화면에서 특정 정보를 볼 때 악성 코드가 포함된 HTML이 그대로 나타날 수 있는 보안 약점입니다. 다행히 자바스크립트 실행은 막혀 있어 직접적인 해킹 위험은 낮지만, 화면이 변조될 수 있습니다.
🇺🇸 원문 (English)
Pi-hole Admin Interface is a web interface for managing Pi-hole, a network-level ad and internet tracker blocking application. From 6.0 to before 6.5, the formatInfo() function in queries.js renders data.upstream, data.client.ip, and data.ede.text into HTML without escaping when a user expands a query row in the Query Log, enabling stored HTML injection. JavaScript execution is blocked by the server's CSP (script-src 'self'). The same fields are properly escaped in the table view (rowCallback), confirming the omission was an oversight. This vulnerability is fixed in 6.5.
📍 영향받는 시스템
Pi-hole Admin Interface (버전 6.0 ~ 6.5 미만)
⚔️ 공격 벡터
공격자가 조작된 데이터를 쿼리 로그에 남긴 후, 관리자가 해당 로그의 상세 내용을 확장하여 확인하는 방식
🛡️ 대응 방법
Pi-hole을 최신 버전인 6.5 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 6.5 미만(예: 6.0, 6.4 등)이면 취약한 상태이며, 6.5 이상이면 안전합니다.
pihole -v 2>/dev/null | grep -E 'version'
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server