Skip to main content

Falha Ghostcat afeta todas as versões do Tomcat

Escrito por
ghostcat feature

25 de fevereiro de 2020

0 minutos de leitura

Apache Tomcat é uma implementação de código aberto das tecnologias Java Servlet, JavaServer Pages, Java Expression Language e Java WebSocket. O Tomcat é um dos ambientes de servidor web HTTP Java mais populares e foi lançado em 1998.

Ghostcat é uma vulnerabilidade de alta gravidade no Tomcat, descoberta em 3 de janeiro pelos pesquisadores de segurança da Chaitin Tech. Em 20 de fevereiro, o China National Vulnerability Database (CNVD) publicou um alerta de segurança sobre o problema, com o número CNVD-2020-10487.

A vulnerabilidade foi encontrada no Apache JServ Protocol (AJP). O problema é que esse protocolo binário permite que um invasor leia ou inclua qualquer arquivo nos diretórios de aplicações web do Tomcat.

Conector AJP

O conector AJP é responsável pela comunicação entre o Tomcat e o mundo externo. Por padrão, ele fica habilitado no Apache Tomcat, na porta 8009, nas versões de 6 a 9. Como o CVE-2020-1938 é uma vulnerabilidade de leitura e inclusão de arquivos no conector AJP do Tomcat, todas as versões que não incluem a correção estão vulneráveis. 

A vulnerabilidade permite que um invasor leia o conteúdo dos arquivos da aplicação web. Se a aplicação permitir o envio de arquivos, o invasor também poderá enviar qualquer arquivo para o servidor, incluindo páginas Java Server Pages (JSP) maliciosas que permitem a execução remota de código no servidor.

Logo do GhostCat com símbolos de olhos de gato em laranja e verde acima de letras em negrito brancas e laranjas

Solução

O Apache Tomcat já lançou versões corrigidas para o Tomcat 7, 8 e 9:

Os pesquisadores da Chaitin recomendam que, além de aplicar a correção, você adicione um segredo adequado à configuração do conector no arquivo /conf/server.xml.

<Connector port="8009" protocol="AJP/1.3" 
redirectPort="8443" 
address="YOUR_TOMCAT_IP_ADDRESS" 
secret="YOUR_TOMCAT_AJP_SECRET" />

Quando não for possível aplicar a correção, há outras formas de reduzir o risco, segundo os pesquisadores da Chaitin.

Se você não usa o conector AJP, pode comentar ou excluir com segurança a declaração do conector AJP no arquivo /conf/server.xml.

<!--<Connector port="8009" protocol="AJP/1.3" 
redirectPort="8443" />-->

Se você usa o conector AJP e não pode atualizar para a versão corrigida, adicione um campo requiredSecret com um segredo seguro e difícil de adivinhar.

<Connector port="8009" protocol="AJP/1.3" 
redirectPort="8443" 
address="YOUR_TOMCAT_IP_ADDRESS" requiredSecret="YOUR_TOMCAT_AJP_SECRET" />

Spring Boot

A versão mais recente do relatório do ecossistema JVM mostra que o Spring Boot é o framework de back-end mais usado nesse ecossistema. O Spring Boot usa um servidor web incorporado e, por padrão, usa a versão incorporada do Tomcat. É possível que o spring-boot-starter-web tenha incluído no seu sistema uma versão vulnerável do pacote Apache Tomcat incorporado.

Editado em 2 de março de 2020

É importante saber que, por padrão, o Spring Boot não cria um conector AJP automaticamente. Isso significa que, com as configurações padrão, um invasor não consegue explorar essa vulnerabilidade. No entanto, é possível configurar o Spring Boot de outras formas. Dependendo da sua configuração, verifique se você está vulnerável e tome as medidas necessárias.

Comece a resolver desafios de capture the flag

Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.

Leia mais

illustration hero ai
Blog

PHP corrige duas vulnerabilidades críticas de RCE sem autenticação (CVE-2026-109618, CVE-2026-109619): atualize agora

Duas falhas críticas no ciclo de requisições do PHP podem permitir execução remota de código sem autenticação. Atualize para uma versão corrigida ou instale um backport do fornecedor para versões mais antigas.

blog feature ai lilac
Blog

Transforme seu backlog de vulnerabilidades em pull requests com remediação agentiva

O Evo Remediation Agent está em Open Preview e traz a resolução automatizada de dependências para o Evo Agentic AppSec. Agora, as equipes de AppSec podem executar campanhas contínuas de remediação

AI Background min crop
Blog

A IA está acionando todos os riscos que você aceitou: sete insights do painel de segurança de IA sem filtros

A IA está tornando os ataques mais baratos e rápidos, expondo riscos que as organizações já carregam. Quatro líderes de segurança explicam por que a defesa na velocidade das máquinas e a correção mais rápida são essenciais.