🇰🇷 한글 설명
Apache Tomcat의 allowLinking과 UTF-8 설정이 활성화된 환경에서 인코딩된 디렉토리 트래버설 시퀀스를 이용해 서버의 임의 파일을 읽을 수 있는 취약점입니다. 영향받는 버전은 Tomcat 4.1.0~4.1.37, 5.5.0~5.5.26, 6.0.0~6.0.16입니다.
💡 쉬운 설명
Tomcat 웹 서버가 특정 설정으로 실행 중일 때, 공격자가 URL에 특수한 인코딩 문자를 넣어서 서버의 보호된 파일들(설정 파일, 키 등)을 읽을 수 있습니다. 마치 숨겨진 폴더를 열쇠로 열듯이 제한된 영역에 접근할 수 있다는 뜻입니다.
🇺🇸 원문 (English)
Directory traversal vulnerability in Apache Tomcat 4.1.0 through 4.1.37, 5.5.0 through 5.5.26, and 6.0.0 through 6.0.16, when allowLinking and UTF-8 are enabled, allows remote attackers to read arbitrary files via encoded directory traversal sequences in the URI, a different vulnerability than CVE-2008-2370. NOTE: versions earlier than 6.0.18 were reported affected, but the vendor advisory lists 6.0.16 as the last affected version.
📍 영향받는 시스템
Apache Tomcat 4.1.0~4.1.37, 5.5.0~5.5.26, 6.0.0~6.0.16 (allowLinking=true, UTF-8 인코딩 활성화 시)
⚔️ 공격 벡터
HTTP 요청의 URI에 UTF-8 인코딩된 디렉토리 트래버설 패턴(예: %2e%2e/, ../ 등)을 삽입하여 서버 파일 시스템의 임의 파일 읽기
🛡️ 대응 방법
Tomcat을 6.0.18 이상, 5.5.27 이상 또는 4.1.38 이상으로 업그레이드하거나 allowLinking 설정을 false로 변경
🔧 검증 코드
Tomcat 설치 여부와 버전을 확인합니다. 4.1.37 이하, 5.5.26 이하, 6.0.16 이하 버전이 설치되어 있으면 취약점에 노출되었을 가능성이 있습니다.
dpkg -l tomcat* 2>/dev/null | grep -E 'tomcat[0-9]' || rpm -qa 2>/dev/null | grep -E 'tomcat-[0-9]'