Log4Shell
folcloresegurançaprogramação
A vulnerabilidade de 2021 na onipresente biblioteca de logging Log4j que permitia a uma string registrada executar código arbitrário.
Como o Log4j está embutido em incontáveis aplicações Java, uma string manipulada em algo tão inocente quanto um nome de usuário ou user agent podia disparar execução remota de código em quase qualquer lugar. Seu alcance e severidade a tornaram uma das falhas mais graves e difundidas já divulgadas.
O Log4Shell foi uma vulnerabilidade no Log4j, biblioteca de registro para Java, em que uma cadeia de caracteres com formato específico em qualquer texto registrado fazia a biblioteca buscar e executar código remoto por consulta JNDI. A cadeia de exploração era curta o bastante para caber num nome de usuário, numa mensagem de bate-papo ou num nome de dispositivo.
A gravidade veio da combinação de exploração trivial e presença quase universal. Qualquer coisa que registrasse entrada de usuário era potencialmente vulnerável, que é essencialmente tudo, e Java roda uma fração grande dos sistemas corporativos. A exploração de prova de conceito não exigia autenticação nem condições incomuns e, em dias, gente mudava o nome do próprio telefone para cadeias de exploração só para ver o que ligaria de volta.
A consequência duradoura foi sobre visibilidade da cadeia de suprimentos, e não sobre Java. As organizações descobriram que não sabiam responder se usavam Log4j, porque ele chegava como dependência transitiva dentro de produtos comprados, e os fornecedores levaram semanas para dizer quais dos próprios produtos eram afetados. Essa lacuna é o que empurrou a lista de materiais de software de ideia de conformidade para algo que reguladores hoje esperam, e a posição honesta é que a maioria das organizações ainda não responderia rápido a essa pergunta.
Também conhecido como: Log4Shell, CVE-2021-44228, Log4j vulnerability
Fontes
- CVE-2021-44228; CISA advisory (December 2021)