🇰🇷 한글 설명
ModSecurity 2.1.0 이하 버전에서 ASCIIZ(널 바이트, 0x00)가 포함된 application/x-www-form-urlencoded POST 데이터를 잘못 해석하는 취약점입니다. ModSecurity는 널 바이트를 문자열 종료자로 처리하지만, PHP 5.2.0, Perl, Python 등의 HTTP 파서는 정상 데이터로 계속 처리하여 요청 필터링 규칙을 우회할 수 있습니다.
💡 쉬운 설명
ModSecurity 웹 보안 도구가 특수 문자(널 바이트)를 잘못 해석하여 악의적인 요청을 탐지하지 못합니다. 공격자가 이를 악용하면 보안 필터를 우회해서 웹 서버를 공격할 수 있습니다.
🇺🇸 원문 (English)
Interpretation conflict in ModSecurity (mod_security) 2.1.0 and earlier allows remote attackers to bypass request rules via application/x-www-form-urlencoded POST data that contains an ASCIIZ (0x00) byte, which mod_security treats as a terminator even though it is still processed as normal data by some HTTP parsers including PHP 5.2.0, and possibly parsers in Perl, and Python.
📍 영향받는 시스템
Apache ModSecurity 2.1.0 이하 버전
⚔️ 공격 벡터
application/x-www-form-urlencoded POST 데이터에 널 바이트(0x00)를 삽입하여 ModSecurity의 요청 검사 규칙을 우회하고 악의적 페이로드 전송
🛡️ 대응 방법
ModSecurity를 2.1.1 이상 버전으로 즉시 업데이트하거나 모드 보안 규칙을 재검토하여 널 바이트 필터링 강화
🔧 검증 코드
명령어가 security_module 또는 mod_security 관련 모듈을 표시하면 ModSecurity가 활성화된 상태이며, /etc/apache2/mods-enabled/security2.conf에서 버전 정보를 확인할 수 있습니다.
apache2ctl -M 2>/dev/null | grep -i security && echo 'ModSecurity loaded' || echo 'Not loaded'