Pular para o conteúdo
Bruno Alexandre Tecnologia, infraestrutura e desenvolvimento

Apache Struts: a falha em um componente que todo mundo tinha e ninguém lembrava

Em 2017, uma falha no framework Apache Struts permitiu executar código sem autenticação, e a exposição de sistemas era desconhecida pela maioria dos times.

Bruno Alexandre 17/08/2026 4 leituras
Apache Struts: a falha em um componente que todo mundo tinha e ninguém lembrava
Em julho de 2017, a Apache Foundation publicou a CVE-2017-5638, uma falha no Struts, o framework Java usado para aplicações web corporativas. A falha permitia executar código no servidor apenas com um cabeçalho malformado, sem autenticação e sem interação do usuário.

O que tornou o caso tão grave foi a combinação da falha com a dificuldade de saber quem era afetado. O Struts é um framework, não um produto, e ele estava dentro de aplicações que ninguém lembrava de ter, em projetos internos e em sistemas de terceiros que a empresa não controlava. Quando a varredura começou a procurar a assinatura do exploit na internet, o número de sistemas expostos foi muito maior do que o esperado.

Depois veio a segunda onda, a CVE-2017-5638 em conjunto com as vulnerabilidades de OGNL, que transformaram a leitura de arquivo em execução de código. E a campanha de attacks com mineradores de cryptocurrency que usaram a falha para minar em servidores expostos, usando a potência das máquinas da vítima.

A lição é que dependências de framework são o ponto cego mais comum. A pergunta que a maioria das empresas não consegue responder é: temos Struts, ou temos algo que usa Struts? Quando a resposta não existe, o tempo de exposição deixa de ser uma métrica de atualização e passa a ser uma investigação. E a segunda lição é que a atualização de emergência precisa ser possível: em incidente, a equipe precisa conseguir aplicar a correção em poucas horas, mesmo que a rotina de mudança normalmente leve semanas.

Leia também