Se você joga Minecraft, provavelmente já deve ter ouvido falar da vulnerabilidade chamada "Log4Shell" ou "Log4j". Até o momento ela foi utilizada por hackers para injetar malwares, ransomwares e Monero miners.

A vulnerabilidade localizada como CVE-2021-44228 é popularmente chamada de "Log4Shell" ou "Log4j". O uso desenfreado dessa brecha foi utilizado em diversos programas e desde então os desenvolvedores têm soltado avisos e atualizações. Confira abaixo os vários CVEs identificados até o momento que mostram uma boa razão para abandonar o log4j versão 2.15.0 para a 2.16.0.

Com quais (todos) os CVEs devo me preocupar?

No dia 9 de dezembro houve um dos primeiros exploits PoC para a falha crítica Log4j que atingiu o GitHub. Isso serviu para a divulgação da vulnerabilidade e do início da localização em massa de servidores vulneráveis.

Devido ao fato que o Log4j é utilizado na grande maioria dos aplicativos Java, o Log4Shell acabou se tornando um pesadelo de empresas e governos em todo o mundo. Confira abaixo os CVEs que surgiram e que você deve ter ciência.

CVE-2021-44228 [Crítica]: A vulnerabilidade 'Log4Shell' ou 'logjam' original é uma falha de desserialização. Classificada como crítica em gravidade, esta pontua 10 na escala CVSS e concede capacidades de execução remota de código (RCE) a atacantes não autenticados, permitindo o controle completo do sistema.

Relatado por Chen Zhaojun da equipe de segurança da nuvem Alibaba para o Apache em 24 de novembro, o CVE-2021-44228 impacta as configurações padrão de vários frameworks Apache, incluindo Apache Struts2, Apache Solr, Apache Druid, Apache Flink e outros.

Sendo o mais perigoso de todos, esta vulnerabilidade se esconde no log4j-corecomponente, limitado às versões 2.x: de 2.0-beta9 até e incluindo 2.14.1. Uma correção para Log4Shell foi lançada na versão 2.15.0, mas é considerada incompleta (continue lendo).

O analista de ameaças da inteligência Florian Roth compartilhou as regras do Sigma [ 1 , 2 ] que podem ser empregadas como uma das defesas.

CVE-2021-45046 [ Crítico , antes baixo]: Esta é uma falha de negação de serviço (DoS) com pontuação de 3,7 9,0. A falha surgiu como resultado de uma correção incompleta que foi para 2.15.0 para CVE-2021-44228. Embora a correção aplicada ao 2.15.0 tenha resolvido amplamente a falha, esse não era bem o caso para certas configurações não padrão.

O Log4j 2.15.0 cria "uma tentativa mais esforçada" para restringir pesquisas JNDI LDAP para localhost por padrão. Porém, os invasores que têm controle sobre os dados de entrada do Thread Context Map (MDC) podem criar cargas úteis maliciosas por meio dos padrões de pesquisa JNDI para causar ataques DoS. Isso se aplica a configurações não padrão nas quais um Layout de padrão não padrão usando uma pesquisa de contexto, por exemplo, $$ {ctx: loginId}, ou um padrão de mapa de contexto de thread (% X,% mdc ou% MDC).

"O Log4j 2.16.0 corrige esse problema removendo o suporte para padrões de pesquisa de mensagens e desabilitando a funcionalidade JNDI por padrão", afirma o conselho do NVD. Para aqueles no branch 2.12.1, uma correção foi transportada para o 2.12.2.

CVE-2021-4104 [Alta] : Dissemos que as versões do Log4j 2.x eram vulneráveis? E quanto ao Log4j 1.x?

Embora anteriormente considerado seguro, o Log4Shell encontrou uma maneira de se esconder no Log4j mais antigo também. Essencialmente, a configuração não padrão de instâncias Log4j 1.x usando a classe JMSAppender também se torna suscetível à falha de desserialização não confiável.

Embora seja uma variante menos severa do CVE-2021-44228, este CVE impacta todas as versões dos componentes log4j: log4j e org.apache.log4j: log4j para os quais existem apenas versões 1.x. Como essas são versões de fim de vida , uma correção para o branch 1.x não existe em nenhum lugar, e deve-se atualizar para o log4j-core 2.16.0.

CVE-2021-42550 [Moderado]: Esta é uma vulnerabilidade na estrutura de registro Logback. Um sucessor da biblioteca Log4j 1.x, Logback afirma continuar "onde o log4j 1.x termina".

Até a semana passada, Logback também se gabava de que "não tendo relação com o log4j 2.x, [logback] não compartilha suas vulnerabilidades".

Essa suposição desapareceu rapidamente quando a CVE-2021-4104 foi descoberto para impactar Log4j 1.x também, e a possibilidade de impacto potencial para Logback foi avaliada. As versões mais recentes do Logback, 1.3.0-alpha11 e 1.2.9 abordando essa vulnerabilidade menos grave, foram lançadas.