🇰🇷 한글 설명
Apache Tomcat의 HTTP/AJP 커넥터에서 모순되는 HTTP 요청 헤더(복수의 Content-Length 또는 Content-Length와 Transfer-Encoding: chunked 조합)를 부정확하게 처리하여 요청 길이를 잘못 인식시키고 Request Smuggling 공격을 유발하는 취약점입니다. CVE-2005-2090의 불완전한 수정으로 재발생했습니다.
💡 쉬운 설명
Tomcat이 요청의 크기를 판단할 때 헤더가 일관성이 없으면 혼동하는 문제입니다. 공격자가 이를 악용해 서버와 프록시 사이의 인식 차이를 만들어 악의적인 요청을 숨길 수 있습니다.
🇺🇸 원문 (English)
Apache Tomcat before 6.0.39, 7.x before 7.0.47, and 8.x before 8.0.0-RC3, when an HTTP connector or AJP connector is used, does not properly handle certain inconsistent HTTP request headers, which allows remote attackers to trigger incorrect identification of a request's length and conduct request-smuggling attacks via (1) multiple Content-Length headers or (2) a Content-Length header and a "Transfer-Encoding: chunked" header. NOTE: this vulnerability exists because of an incomplete fix for CVE-2005-2090.
📍 영향받는 시스템
Tomcat 6.0.39 미만, 7.0.47 미만, 8.0.0-RC3 미만 (HTTP/AJP 커넥터 사용 시)
⚔️ 공격 벡터
모순되는 Content-Length 헤더 또는 Content-Length와 Transfer-Encoding: chunked 헤더를 포함한 악성 HTTP 요청
🛡️ 대응 방법
Tomcat을 6.0.39, 7.0.47, 또는 8.0.0-RC3 이상으로 업데이트
🔧 검증 코드
Tomcat 패키지 버전을 확인하여 권장 버전 이상인지 확인합니다(Tomcat6≥6.0.39, Tomcat7≥7.0.47, Tomcat8≥8.0.0-RC3).
dpkg -l tomcat* 2>/dev/null | grep tomcat | awk '{print $2, $3}'