Log4Shell é uma vulnerabilidade de software no Apache Log4j 2 , uma biblioteca Java popular para registrar mensagens de erro em aplicativos. A vulnerabilidade, publicada como CVE-2021-44228 , permite que um invasor remoto assuma o controle de um dispositivo na Internet se o dispositivo estiver executando certas versões do Log4j 2.
A Apache lançou um patch para CVE-2021-44228, versão 2.15, em 6 de dezembro. No entanto, esse patch deixou parte da vulnerabilidade sem correção, resultando em CVE-2021-45046 e um segundo patch, versão 2.16, lançado em 13 de dezembro. Apache lançou um terceiro patch, versão 2.17, em 17 de dezembro para corrigir outra vulnerabilidade relacionada, CVE-2021-45105 .
Os invasores podem explorar a vulnerabilidade usando mensagens de texto para controlar um computador remotamente. A Apache Software Foundation, que publica a biblioteca Log4j 2, deu à vulnerabilidade uma pontuação CVSS de 10 em 10, a pontuação de gravidade de nível mais alto, devido ao seu potencial de exploração generalizada e à facilidade com que invasores mal-intencionados podem explorá-la. Enquanto a mitigação evolui e o dano se desdobra, os fundamentos da vulnerabilidade Log4Shell não mudarão.
O pesquisador de segurança Chen Zhaojun, da Alibaba, a maior empresa de comércio eletrônico da China, relatou pela primeira vez a vulnerabilidade à Fundação Apache (um projeto de código aberto) em 24 de novembro. Eles descobriram o ataque em 9 de dezembro em servidores que hospedam o jogo Minecraft. Depois de mais análises forenses, eles perceberam que os cibercriminosos descobriram a lacuna mais cedo e a exploraram desde pelo menos 1º de dezembro de 2021.
Log4Shell é considerado uma vulnerabilidade de zero day porque os agentes mal-intencionados provavelmente sabiam e exploravam antes que os especialistas o fizessem.
O que torna o Log4Shell tão perigoso é a onipresença da biblioteca Log4j 2. Está presente nas principais plataformas, desde Amazon Web Services a VMware, e serviços de grande e pequeno porte. A teia de dependências entre plataformas e serviços afetados significa que a correção pode ser um processo complexo e possivelmente demorado.
A facilidade de explorar a vulnerabilidade aumenta seu impacto. A biblioteca Log4j 2 controla como os aplicativos registram sequências de código e informações. A vulnerabilidade permite que um invasor obtenha controle sobre uma string e engane o aplicativo para que ele solicite e execute código malicioso sob o controle do invasor. Os invasores podem assumir remotamente qualquer serviço conectado à Internet que use certas versões da biblioteca Log4j em qualquer lugar na pilha de software.
Como a estrutura de registro mais amplamente usada na Internet, as organizações em todo o setor integraram o Apache Log4j 2 em uma infinidade de aplicativos. Isso inclui os principais serviços em nuvem, como Apple, Google, Microsoft e Cloudflare, bem como plataformas como Twitter e Stream.
Ele registra mensagens do software e procura erros posteriormente. O intervalo de dados é amplo, desde informações básicas de navegador e página da web até detalhes técnicos sobre o sistema em que o Log4j 2 é executado.
A biblioteca Log4j 2 não apenas pode criar registros simples, mas também pode executar comandos para gerar informações de registro avançadas. Ao fazer isso, ele também pode se comunicar com outras fontes, como serviços de diretório interno.