🇰🇷 한글 설명
Apache Tomcat의 FORM 인증에서 잘못된 URL 인코딩 처리로 인해 유효한 사용자명을 열거할 수 있는 취약점입니다. MemoryRealm, DataSourceRealm, JDBCRealm의 부적절한 에러 처리로 인해 /j_security_check 경로에서 발생합니다.
💡 쉬운 설명
Tomcat 로그인 페이지에서 특수 문자(%)를 포함한 잘못된 비밀번호를 입력하면 오류 메시지로 유효한 사용자명이 무엇인지 알 수 있습니다. 공격자가 이를 이용해 실제 존재하는 사용자명 목록을 수집할 수 있습니다.
🇺🇸 원문 (English)
Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18, when FORM authentication is used, allows remote attackers to enumerate valid usernames via requests to /j_security_check with malformed URL encoding of passwords, related to improper error checking in the (1) MemoryRealm, (2) DataSourceRealm, and (3) JDBCRealm authentication realms, as demonstrated by a % (percent) value for the j_password parameter.
📍 영향받는 시스템
Apache Tomcat 4.1.0-4.1.39, 5.5.0-5.5.27, 6.0.0-6.0.18
⚔️ 공격 벡터
/j_security_check에 malformed URL 인코딩(%)을 j_password 파라미터로 전송하여 사용자명 열거
🛡️ 대응 방법
Tomcat을 최신 버전으로 업그레이드 (4.1.40+, 5.5.28+, 6.0.19+)
🔧 검증 코드
Implementation-Version이 4.1.40 이상, 5.5.28 이상 또는 6.0.19 이상이면 안전, 그 이하면 취약함
find /opt /usr/local -name catalina.jar 2>/dev/null | head -1 | xargs -I {} unzip -p {} META-INF/MANIFEST.MF 2>/dev/null | grep Implementation-Version