Vulnerabilidade Grave no Apache Tomcat
Nesta semana, o NIST divulgou uma vulnerabilidade crítica que afeta o Apache Tomcat. A falha, identificada como CVE-2025-24813, possibilita que atacantes executem código remotamente – e, em determinadas configurações, também possibilita a visualização ou alteração de arquivos sensíveis.
Visão Geral da Vulnerabilidade
A vulnerabilidade está relacionada à forma como o Tomcat trata requisições do tipo PUT para uploads de arquivos. Em implementações que utilizam a persistência de sessões baseada em arquivos (file-based session persistence) e deixam o servlet padrão com escrita habilitada (o que, por padrão, é desativado), o atacante pode explorar a falha em dois passos:
Injeção Maliciosa:
O atacante envia uma requisição PUT para o servidor, fazendo o upload de um arquivo de sessão malicioso. Esse arquivo contém um payload em Base64 – geralmente gerado com a ferramenta ysoserial – que, quando desserializado, executa código arbitrário.Execução do Payload:
Em seguida, uma requisição GET é realizada, utilizando o ID de sessão (JSESSIONID) correspondente ao arquivo injetado. Ao processar essa sessão, o Tomcat desserializa o conteúdo e executa o código embutido, concedendo ao atacante acesso privilegiado ao sistema.
Essa técnica é considerada de fácil exploração, já que, em ambientes onde a persistência de sessão é feita via arquivos e o método PUT é permitido, o atacante não precisa de autenticação prévia para realizar o ataque.
Versões Afetadas e Cenários de Exploração
A vulnerabilidade impacta as seguintes versões do Apache Tomcat:
Tomcat 11: de 11.0.0-M1 até 11.0.2
Tomcat 10.1: de 10.1.0-M1 até 10.1.34
Tomcat 9: de 9.0.0.M1 até 9.0.98
Para que o ataque seja bem-sucedido, é necessário que algumas condições específicas estejam presentes:
Escrita Habilitada no Servlet Padrão:
O parâmetro readonly deve estar configurado como false (configuração não recomendada e desabilitada por padrão).Suporte para Partial PUT:
Essa funcionalidade está ativada por padrão e possibilita o upload parcial de arquivos.Persistência de Sessão via Arquivos:
O uso do armazenamento padrão de sessões em arquivos, aliado à presença de uma biblioteca suscetível à desserialização insegura.Conhecimento Prévio dos Arquivos Sensíveis:
Em cenários onde o URL de upload de arquivos sensíveis é um subdiretório do URL público, o atacante precisa saber os nomes desses arquivos para manipulá-los.
Veja uma POC aqui.
Mitigação e Recomendações
Diante do cenário exposto, é fundamental que as organizações que utilizam Apache Tomcat revisem suas configurações e apliquem as atualizações recomendadas. As seguintes ações são recomendadas:
Atualização Imediata:
Atualize para as versões que já corrigiram a vulnerabilidade:
Tomcat 11: atualizar para 11.0.3
Tomcat 10.1: atualizar para 10.1.35
Tomcat 9: atualizar para 9.0.98
Revisão da Configuração do Servlet Padrão:
Se a atualização não for imediatamente possível, desabilite a escrita no servlet padrão, definindo o parâmetro readonly como true no arquivo web.xml.Desabilitar Requisições PUT:
Caso não seja essencial para sua aplicação, desative o método PUT, evitando que arquivos maliciosos sejam enviados para o servidor.
“Atenção especial para os métodos 2 e 3 pois interferem na forma de utilização de sessão pela aplicação, pois essa alteração pode fazê-lo parar de funcionar corretamente.”
Caso prefira esse conteúdo em vídeo, acompanhe nosso Kubidrops, sua pílula de conhecimento do mundo cloud native!
Considerações Finais
A vulnerabilidade CVE-2025-24813 evidencia a importância de manter não só os sistemas atualizados, mas também de revisar as configurações padrão – como a habilitação de métodos HTTP potencialmente perigosos e a persistência de sessão baseada em arquivos. Em um cenário onde a exploração pode ser realizada de forma simples e remota, a mitigação imediata torna-se indispensável para evitar comprometimentos graves, como a execução de código arbitrário e o acesso a informações sensíveis.
Organizações que utilizam Apache Tomcat devem priorizar a atualização para as versões corrigidas e rever suas práticas de segurança, garantindo que os métodos de upload e persistência de sessão estejam configurados de forma segura.