🇰🇷 한글 설명
Apache Tomcat의 세션 만료 미흡 취약점으로, 인증된 HTTP 세션에서 WebSocket 연결이 수립된 후 세션 ID가 변경되더라도 Jakarta WebSocket 사양에 따라 WebSocket 세션이 자동으로 종료되지 않는 문제입니다. 이로 인해 HTTP 세션이 종료되었음에도 불구하고 WebSocket 연결이 유지될 수 있습니다.
💡 쉬운 설명
로그인 세션이 끝나거나 바뀌어도 웹소켓 연결이 끊기지 않고 계속 살아있는 문제입니다. 이로 인해 권한이 없는 사용자가 연결을 계속 유지할 수 있는 보안 위험이 발생합니다.
🇺🇸 원문 (English)
Insufficient Session Expiration vulnerability in Apache Tomcat meant that if the session ID for an authenticated HTTP session was changed after a WebSocket connection had been established under that authenticated HTTP session, the WebSokcet session would not be closed as required by the Jakarta WebSocket specification when the HTTP session ended.
This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.24, from 10.1.0-M1 through 10.1.57, from 9.0.0.M1 through 9.0.120.
The following versions were EOL at the time the CVE was created but are
known to be affected: from 8.5.0 through 8.5.100, from 7.0.43 through 7.0.109. Other unsupported versions may also be affected.
Users are recommended to upgrade to version 11.0.25, 10.1.58 or 9.0.121, which fix the issue.
📍 영향받는 시스템
Apache Tomcat 11.0.0-M1~11.0.24, 10.1.0-M1~10.1.57, 9.0.0.M1~9.0.120, 8.5.0~8.5.100, 7.0.43~7.0.109
⚔️ 공격 벡터
인증된 HTTP 세션에서 WebSocket을 연결한 후, HTTP 세션이 만료되거나 변경되어도 기존 WebSocket 연결을 유지하여 비정상적인 통신을 지속함
🛡️ 대응 방법
Apache Tomcat을 11.0.25, 10.1.58 또는 9.0.121 이상의 최신 버전으로 업그레이드하십시오.
🔧 검증 코드
출력된 Apache Tomcat 버전을 확인하여 취약한 버전 범위에 포함되는지 대조합니다.
find / -name tomcat* 2>/dev/null | xargs -I {} {}/bin/version.sh 2>/dev/null | grep -E 'Apache Tomcat version'