🇰🇷 한글 설명
Apache HTTP Server 2.2.x (2.2.25 이전)의 mod_rewrite 모듈에서 로그 파일에 데이터를 필터링 없이 기록하면서, 원격 공격자가 터미널 에뮬레이터 이스케이프 시퀀스를 포함한 HTTP 요청을 통해 임의의 명령을 실행할 수 있는 취약점입니다. 관리자가 로그를 확인할 때 악의적인 제어 문자가 터미널 명령어로 해석되어 실행됩니다.
💡 쉬운 설명
Apache 웹 서버가 사용자 요청을 로그에 저장할 때 위험한 제어 문자를 제거하지 않아, 특수한 요청으로 명령이 실행될 수 있습니다. 로그를 보는 관리자의 터미널에서 공격자의 명령이 자동으로 실행되는 문제입니다.
🇺🇸 원문 (English)
mod_rewrite.c in the mod_rewrite module in the Apache HTTP Server 2.2.x before 2.2.25 writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to execute arbitrary commands via an HTTP request containing an escape sequence for a terminal emulator.
📍 영향받는 시스템
Apache HTTP Server 2.2.0 ~ 2.2.24 버전
⚔️ 공격 벡터
터미널 이스케이프 시퀀스가 포함된 HTTP 요청(GET/POST)을 전송하여 mod_rewrite 로그에 기록되도록 유도
🛡️ 대응 방법
Apache HTTP Server를 2.2.25 이상으로 업그레이드하거나 로그 뷰어에서 ANSI 이스케이프 시퀀스 처리 비활성화
🔧 검증 코드
Apache 버전이 2.2.25 미만이면 VULNERABLE, 2.2.25 이상이면 PATCHED 출력
apache2 -v 2>/dev/null | head -1 | grep -oE '2\.[0-9]+\.[0-9]+' | awk -F. '{if($2==2 && $3<25) print "VULNERABLE"; else print "PATCHED"}'