🇰🇷 한글 설명
Apache Tomcat의 ChunkedInputFilter 컴포넌트가 에러 발생 후 데이터 읽기를 제대로 처리하지 못하여 HTTP 요청 위조 또는 서비스 거부 공격이 가능합니다. 공격자가 악형된 청크 전송 코딩을 통해 리소스 소비 또는 요청 위조 공격을 수행할 수 있습니다.
💡 쉬운 설명
웹 서버가 손상된 데이터를 받았을 때 제대로 거부하지 못하는 결함입니다. 공격자가 이를 악용해 서버를 느리게 만들거나 다른 사용자의 요청인 척 가짜 요청을 보낼 수 있습니다.
🇺🇸 원문 (English)
java/org/apache/coyote/http11/filters/ChunkedInputFilter.java in Apache Tomcat 6.x before 6.0.42, 7.x before 7.0.55, and 8.x before 8.0.9 does not properly handle attempts to continue reading data after an error has occurred, which allows remote attackers to conduct HTTP request smuggling attacks or cause a denial of service (resource consumption) by streaming data with malformed chunked transfer coding.
📍 영향받는 시스템
Apache Tomcat 6.x (< 6.0.42), 7.x (< 7.0.55), 8.x (< 8.0.9)
⚔️ 공격 벡터
악형된 청크 전송 인코딩(chunked transfer coding)을 포함한 HTTP 요청을 통한 요청 위조 또는 지속적 데이터 스트리밍으로 인한 리소스 고갈
🛡️ 대응 방법
Tomcat을 패치된 버전으로 업그레이드 (6.0.42, 7.0.55, 8.0.9 이상)
🔧 검증 코드
VERSION.txt 또는 dpkg 출력에서 Tomcat 버전을 확인하여 취약 버전(6.0.42 미만, 7.0.55 미만, 8.0.9 미만) 여부를 판단합니다.
find / -name catalina.properties 2>/dev/null -exec grep -l 'catalina' {} \; | head -1 | xargs dirname | xargs ls VERSION.txt 2>/dev/null || dpkg -l | grep tomcat