🇰🇷 한글 설명
ModSecurity 3.0.16 미만 버전의 multipart/form-data 요청 본문 파서에서 줄바꿈 문자를 무시하는 취약점이 발견되었습니다. 이로 인해 ModSecurity와 백엔드 애플리케이션 간의 데이터 해석 차이가 발생하여, 줄바꿈을 포함한 악성 페이로드를 탐지하지 못할 수 있습니다.
💡 쉬운 설명
웹 방화벽이 데이터를 검사할 때 줄바꿈 문자를 임의로 지워버리는 문제가 있습니다. 공격자가 줄바꿈을 이용해 교묘하게 숨긴 악성 코드를 방화벽이 놓치고 통과시킬 수 있습니다.
🇺🇸 원문 (English)
ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx. Prior to 3.0.16, the multipart/form-data request body parser in libmodsecurity silently removes embedded line breaks from non-file form-field values before exporting them to ARGS and ARGS_POST because src/request_body_processor/multipart.cc overwrites reserved bytes in m_reserve instead of appending the current buffer. This creates a parser differential between ModSecurity and backend applications that preserve line breaks in form fields, allowing rules that inspect ARGS or ARGS_POST to miss payloads whose dangerous syntax depends on a line break. This issue is fixed in version 3.0.16.
📍 영향받는 시스템
ModSecurity 3.0.16 미만 버전
⚔️ 공격 벡터
multipart/form-data 요청 내 필드 값에 줄바꿈 문자를 포함하여 방화벽의 탐지 규칙을 우회하는 방식
🛡️ 대응 방법
ModSecurity를 최신 버전인 3.0.16 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 3.0.16 미만인지 확인하여 취약 여부를 판단합니다.
modsecurity -v 2>/dev/null || dpkg -l | grep libmodsecurity