🇰🇷 한글 설명
Jakarta Tomcat 5.0.19 및 4.1.24 버전에서 'Transfer-Encoding: chunked'와 'Content-Length' 헤더를 동시에 포함한 HTTP 요청을 처리할 때 발생하는 취약점입니다. 공격자는 이를 통해 HTTP 요청 스머글링(Request Smuggling)을 수행하여 웹 캐시 오염, WAF 우회 및 XSS 공격을 실행할 수 있습니다.
💡 쉬운 설명
서버가 요청의 길이를 확인하는 방식의 허점을 이용해 정상적인 요청 뒤에 가짜 요청을 숨겨 보내는 공격입니다. 이를 통해 보안 장비를 속이거나 다른 사용자에게 악성 스크립트를 전달할 수 있습니다.
🇺🇸 원문 (English)
Jakarta Tomcat 5.0.19 (Coyote/1.1) and Tomcat 4.1.24 (Coyote/1.0) allows remote attackers to poison the web cache, bypass web application firewall protection, and conduct XSS attacks via an HTTP request with both a "Transfer-Encoding: chunked" header and a Content-Length header, which causes Tomcat to incorrectly handle and forward the body of the request in a way that causes the receiving server to process it as a separate HTTP request, aka "HTTP Request Smuggling."
📍 영향받는 시스템
Jakarta Tomcat 5.0.19 (Coyote/1.1) 및 4.1.24 (Coyote/1.0) 이하 버전
⚔️ 공격 벡터
HTTP 요청 헤더에 Transfer-Encoding과 Content-Length를 동시에 전송하여 서버의 요청 해석 오류 유도
🛡️ 대응 방법
Apache Tomcat을 취약점이 해결된 최신 버전으로 업데이트
🔧 검증 코드
명령어 실행 결과 Tomcat 버전이 5.0.19 또는 4.1.24 이하로 확인되면 취약할 가능성이 높습니다.
catalina.sh version 2>/dev/null | grep -E '5.0\.[0-9]+|4.1\.[0-9]+'