🇰🇷 한글 설명
Apache Tomcat의 특정 버전에서 리팩토링 과정 중 발생한 회귀 오류로 인해 잘못된 Transfer-Encoding 헤더가 부적절하게 처리됩니다. 이로 인해 역방향 프록시 뒤에 Tomcat이 위치할 경우 HTTP 요청 스머글링(Request Smuggling) 공격이 발생할 가능성이 있습니다.
💡 쉬운 설명
웹 서버가 데이터의 끝을 확인하는 방식에 오류가 생겨, 공격자가 몰래 다른 요청을 끼워 넣을 수 있는 취약점입니다. 프록시 서버와 실제 서버 간의 해석 차이를 이용해 보안을 우회할 수 있습니다.
🇺🇸 원문 (English)
The refactoring present in Apache Tomcat 9.0.28 to 9.0.30, 8.5.48 to 8.5.50 and 7.0.98 to 7.0.99 introduced a regression. The result of the regression was that invalid Transfer-Encoding headers were incorrectly processed leading to a possibility of HTTP Request Smuggling if Tomcat was located behind a reverse proxy that incorrectly handled the invalid Transfer-Encoding header in a particular manner. Such a reverse proxy is considered unlikely.
📍 영향받는 시스템
Apache Tomcat 9.0.28-9.0.30, 8.5.48-8.5.50, 7.0.98-7.0.99
⚔️ 공격 벡터
잘못된 Transfer-Encoding 헤더를 포함한 HTTP 요청을 전송하여 프록시와 서버 간의 해석 차이를 유도
🛡️ 대응 방법
Apache Tomcat을 수정된 최신 버전(9.0.31, 8.5.51, 7.0.100 이상)으로 업데이트
🔧 검증 코드
명령어 결과에 취약한 버전 번호가 출력되면 해당 시스템은 보안 업데이트가 필요한 상태입니다.
curl -s http://localhost:8080/version | grep -E 'Tomcat/9.0.[28-30]|8.5.[48-50]|7.0.[98-99]'