🇰🇷 한글 설명
Apache Tomcat의 HTTP/2 GOAWAY 프레임 처리 결함으로, WINDOW_UPDATE를 대기하는 스트림이 정상적으로 종료되지 않아 각 스트림이 스레드를 점유하게 된다. 악의적 클라이언트가 일련의 HTTP/2 요청을 구성하여 사용 가능한 모든 처리 스레드를 소진시키는 서비스 거부 공격이 가능하다.
💡 쉬운 설명
Tomcat 웹 서버에서 클라이언트가 종료 신호를 보낼 때 일부 연결이 제대로 끝나지 않아 서버 자원을 낭비하는 문제다. 공격자가 이를 악용하면 서버가 응답하지 않게 만들 수 있다.
🇺🇸 원문 (English)
In Apache Tomcat 9.0.0.M1 to 9.0.0.M18 and 8.5.0 to 8.5.12, the handling of an HTTP/2 GOAWAY frame for a connection did not close streams associated with that connection that were currently waiting for a WINDOW_UPDATE before allowing the application to write more data. These waiting streams each consumed a thread. A malicious client could therefore construct a series of HTTP/2 requests that would consume all available processing threads.
📍 영향받는 시스템
Apache Tomcat 9.0.0.M1-M18, 8.5.0-8.5.12
⚔️ 공격 벡터
Malicious client sends series of HTTP/2 requests to exhaust all available server processing threads via unresolved WINDOW_UPDATE waits
🛡️ 대응 방법
Upgrade to Tomcat 9.0.0.M19+ or 8.5.13+
🔧 검증 코드
패키지 버전이 8.5.0~8.5.12 범위면 취약함. 결과 없으면 수동으로 catalina.sh version 또는 Tomcat 설정 파일에서 버전 확인
dpkg -l tomcat8 2>/dev/null | grep -E '8\.5\.(0[0-9]|1[0-2])' || echo 'Check version manually'