Arquivo para Tag: vulnerabilidade

PwnKit, a nova vulnerabilidade que está abalando o ecossistema Linux e a internet

Acabou de ser descoberta, pela equipe de pesquisa da Qualys, uma nova vulnerabilidade de corrupção de memória que afeta as principais distribuições Linux. Identificada pelo CVE ID CVE-2021-4034, afeta o Polkit (antigo PolicyKit), um programa presente em praticamente todas as distribuições Linux modernas, responsável pelo controle de privilégios entre processos no sistema operacional.

Essa vulnerabilidade existe há doze anos, mas só recentemente veio à tona. É facilmente explorável, e permite que qualquer usuário obtenha privilégios totais de superusuário (root) em um sistema vulnerável, o que a torna bastante crítica.

O fato do sistema operacional Linux ser amplamente utilizado, abrangendo sistemas críticos de empresas de diversos segmentos, governos, e da própria infraestutura que garante o funcionamento da Internet, agrava a situação. O Linux é também a base de muitos equipamentos da chamada Internet das Coisas (IoT), além de dispositivos embarcados (em indústrias e veículos, por exemplo), elementos de rede (roteadores, switches etc.), entre outros, o que torna a superfície de ataque potencialmente muito grande, permitindo ataques em larga escala.

Os principais desenvolvedores de distribuições Linux já estão atuando para disponibilizar atualizações do Polkit com a correção dessa vulnerabilidade. Fique atento, acompanhe os boletins de segurança da sua distribuição e, caso tenha sistemas vulneráveis, planeje a atualização com máxima prioridade.

Log4shell: A vulnerabilidade zero day encontrada na biblioteca Log4j2 do Java

No dia 9 de dezembro, a internet veio abaixo com a descoberta de uma vulnerabilidade (CVE-2021-44228) de alta criticidade encontrada na biblioteca do Java log4j 2, vastamente utilizada por milhares de serviços e empresas, como Steam, Twitter e até mesmo o famoso jogo eletrônico Minecraft.

A vulnerabilidade em questão, permite Remote Code Execution (RCE) no servidor afetado, isto é, uma vez explorada, a vulnerabilidade permite controle total sobre a máquina atacada

O que é o log4j 2?

 

Para entender como esta vulnerabilidade é explorada, primeiro precisamos entender o que é o pacote log4j2.

Uma das bibliotecas de logging mais populares, o log4j2 é um framework open source de logging incorporado em muitas aplicações baseadas em Java. Ela oferece aos desenvolvedores uma maneira de criar logs para gravar sua atividade em diversos casos de uso, como monitoração, rastreamento de dados, troubleshooting, entre outras coisas. Em suma, o log4j2 é um pacote open source, gratuito, que é utilizado pelas maiores empresas do mundo.

O impacto de CVE-2021-44228

O impacto desta vulnerabilidade é enorme devido à ampla adoção desta biblioteca Log4j . Se você tiver alguns aplicativos java em seu ambiente, é provável que eles estejam usando Log4j para registrar eventos internos.

A exploração também é bastante flexível, permitindo que você recupere e execute código arbitrário de servidores LDAP locais para remotos e outros protocolos.

Todos esses fatores e o alto impacto em tantos sistemas dão a essa vulnerabilidade uma classificação de gravidade CRÍTICA de CVSS3 10.0. O fato de a vulnerabilidade estar sendo explorada ativamente aumenta ainda mais o risco para as organizações afetadas.

Por dentro da falha

A vulnerabilidade se aproveita do Java Naming and Directory Interface (JNDI), que é uma API para acesso a serviços de diretórios. Ela permite que aplicações cliente descubram e obtenham dados ou objetos através de um nome. É fornecido um nome diferente de resolução e serviço de diretórios, como DNS e LDAP.

A vulnerabilidade existe por que no pacote Log4j, o componente afetado valida de forma não ideal os dados fornecidos pelo usuário, potencialmente permitindo um atacante fornecer uma linha que é interpretada como uma variável de código, que resulta no carregamento de um arquivo de classe Java.

Segue um exemplo resumido de como essa vulnerabilidade pode ser explorada, este método se baseia em uma política de logs especialmente construída para passar dados maliciosos como uma mensagem de erro.

Para concretizar a exploração, a URL JNDI/LDAP fornece um objeto de uma classe do Java que será carregada no host vítima, onde há a presença do Log4j, e isto só é possível por que o JDNI não reforça nenhum controle de segurança nas requisições do protocolo LDAP. E além disso, o protocolo LDAP suporta o carregamento de classe por usuários remotos.

Mitigação com a GoCache

Um dos serviços GoCache é o seu WAF (Web Application Firewall), que protege aplicações contra ataques e atividades maliciosas. Foram disponibilizadas novas regras para bloquear tentativas de exploração do Log4Shell, que fazem o bloqueio de qualquer requisição que tenha em seu corpo ou parâmetro, a carga maliciosa que explora a vulnerabilidade recém-descoberta, mitigando inclusive tentativas de formatação de textos, prática comum na tentativa de contornar o sistema de segurança do WAF.

 

Por Marcos Medeiros, Support Analyst GoCache