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.
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.
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
Segurança da informação
Duas falhas de execução remota de código no PHP atingem todas as instalações da web
Em 21 de outubro de 2026 o PHP corrigiu duas falhas críticas que permitem executar código sem qualquer autenticação. Quem tem site em PHP precisa atualizar hoje.
LGPD e proteção de dados
Seu CPF vazou: o que fazer nas próximas 48 horas
A maior parte dos vazamentos de CPF é usada para golpe, e os golpes que mais dão certo começam nos primeiros dias.
IA e segurança
A era da IA no trabalho: o que mudou de verdade
A inteligência artificial mudou a forma de trabalhar, e junto trouxe um conjunto novo de falhas que os processos antigos não esperavam.
Segurança da informação
Sua empresa tem antivírus e ainda assim já foi invadida
A sensação de segurança atrasa a ação, e a maioria dos incidentes não depende de ataque sofisticado.