
Detecta e explora a vulnerabilidade de travessia de diretório CVE-2025-55752 no Apache Tomcat por meio do Rewrite Valve, permitindo upload de JSP baseado em PUT e execução remota de código.
🚨🚨 CVE-2025-55752 — Apache Tomcat: Bypass de proteção de diretórios via Rewrite Valve → RCE via PUT🚨🚨 Resumo
A CVE-2025-55752 é uma regressão de segurança no Apache Tomcat introduzida durante a correção do bug #60013. Quando o Rewrite Valve é utilizado, o Tomcat aplica a normalização de caminho antes da decodificação de URL. Essa ordem incorreta permite que URIs manipulados contornem as verificações de acesso implementadas em StandardContextValve.java para caminhos protegidos, como /WEB-INF/ e /META-INF/. Se o servidor aceitar requisições HTTP PUT (ou expor qualquer endpoint de upload de arquivos gravável), um atacante pode enviar artefatos maliciosos (por exemplo, .jsp ou sessões serializadas) e alcançar execução remota de código (RCE).
🚨 Versões afetadas
Versões mais antigas do Tomcat em fim de vida útil (EOL) que incluíram a alteração de rewrite/normalização também podem ser afetadas. Verifique sua distribuição/build específica do fornecedor.
🚨 Impacto
PUT (ou outros endpoints com capacidade de escrita) está habilitado ou quando webapps permitem upload de arquivos sem validação suficiente.🚨🚨 Detalhes técnicos (concisos)
StandardContextValve para /WEB-INF/ e /META-INF/.PUT ou tiver um endpoint de upload de arquivos que coloque arquivos sob o diretório raiz do documento da webapp, o atacante pode escrever .jsp ou outro conteúdo executável em um local que o servidor serve/executa, resultando em RCE.Remediação e estratégias de defesa
Imediata (recomendado)
Atualize o Tomcat para uma versão corrigida e suportada o mais rápido possível:
Se a atualização imediata não for viável (mitigações temporárias)
Desabilite HTTP PUT no nível do servidor, conector ou proxy reverso (por exemplo, via configuração do servidor web ou regras de firewall).
Reforce/remova regras de Rewrite que permitam reescrita arbitrária para locais graváveis; especificamente, remova regras que reescrevam ou encaminhem parâmetros de consulta para caminhos de arquivo.
Reforce o tratamento de upload de arquivos em aplicações web:
/WEB-INF/, /META-INF/ ou qualquer classpath da aplicação.Filtre/Bloqueie URIs de exploração no perímetro (WAF / proxy reverso), bloqueando payloads codificados suspeitos e padrões que tentem contornar as proteções de /WEB-INF ou /META-INF.
Privilégio mínimo para armazenamentos de arquivos: garanta que o processo da webapp não possa escrever em diretórios que são servidos ou executados pelo contêiner.
Visão geral da função
Esta ferramenta realiza detecção em duas etapas com base na descrição oficial da CVE-2025-55752:
Tenta explorar a ordem incorreta de normalização de URL antes da decodificação no Rewrite Valve do Apache Tomcat, permitindo path traversal para locais protegidos como /WEB-INF ou /META-INF.
Tenta enviar um arquivo JSP de teste via HTTP PUT e, em seguida, verifica se os mecanismos de proteção podem ser contornados para acessar o arquivo enviado.
Verificar se o path traversal para diretórios protegidos é possível:
python3 cve_2025_55752_detector.py http://target:8080 --check
Tentar enviar um arquivo JSP e testar o bypass de acesso:
python3 cve_2025_55752_detector.py http://target:8080
🔧 Personalizar o nome do arquivo e o conteúdo do payload:
python3 cve_2025_55752_detector.py http://target:8080 --filename exploit.jsp --payload "<% out.println('PWNED'); %>"