🇰🇷 한글 설명
Apache HTTP Server 2.2.6 이전 버전의 mod_autoindex.c 모듈에서 charset이 명시되지 않은 서버 생성 페이지의 P 매개변수를 통해 UTF-7 인코딩을 악용하여 임의의 XSS 공격 코드를 주입할 수 있습니다. 이는 브라우저의 자동 콘텐츠 유형 감지 메커니즘의 설계 한계로 인한 취약점입니다.
💡 쉬운 설명
웹 서버가 문자 인코딩 방식을 명확히 지정하지 않으면, 공격자가 특수한 형식의 악성 코드를 숨겨 보낼 수 있고 사용자의 브라우저가 이를 실행하게 됩니다. 특정 버전의 Apache 웹 서버에만 영향을 미칩니다.
🇺🇸 원문 (English)
Cross-site scripting (XSS) vulnerability in mod_autoindex.c in the Apache HTTP Server before 2.2.6, when the charset on a server-generated page is not defined, allows remote attackers to inject arbitrary web script or HTML via the P parameter using the UTF-7 charset. NOTE: it could be argued that this issue is due to a design limitation of browsers that attempt to perform automatic content type detection.
📍 영향받는 시스템
Apache HTTP Server 2.2.6 이전 버전 (mod_autoindex.c)
⚔️ 공격 벡터
디렉토리 목록 페이지(autoindex)의 P 매개변수를 통한 UTF-7 인코딩된 XSS 페이로드 주입
🛡️ 대응 방법
Apache HTTP Server를 2.2.6 이상 버전으로 업그레이드하거나 charset을 명시적으로 지정
🔧 검증 코드
현재 설치된 Apache 버전이 2.2.6 이상이면 안전하고 그 이하이면 취약한 상태입니다.
apache2ctl -v 2>/dev/null | grep -oP 'Apache/\K[\d.]+' | awk '{if ($1 >= 2.2.6) print "SAFE"; else print "VULNERABLE"}'