Uma falha perigosa de segurança afetava um programa que, em tese, existe para garantir a segurança. Além de prejudicar e comprometer o trabalho, leva perigo aos usuários. Xiaochen Zou, um estudante de pós-graduação da Universidade da Califórnia, Riverside, foi procurar bugs no Linux e encontrou um erro. Essa vulnerabilidade, CVE-2022-2766, no módulo de criptografia esp6 (Encapsulating Security Payload) do IPSec pode ser usada para escalonamento de privilégio local.
O problema é um estouro de heap básico. Xiaochen explicou que “a lógica básica dessa vulnerabilidade é que o buffer de recebimento de uma mensagem do usuário no módulo esp6 é um buffer de 8 páginas, mas o remetente pode enviar uma mensagem maior que 8 páginas, o que claramente cria um estouro de buffer”.
Como sempre ocorrem estouros de buffer, isso é uma má notícia. Como a Red Hat coloca em seu aviso de segurança sobre o bug, “Esta falha permite que um invasor local com um privilégio de usuário normal sobrescreva objetos de heap do kernel e pode causar uma ameaça de escalação de privilégio local”.
Pontuação alta na escala de riscos
Isso é ruim o suficiente para que tanto a Red Hat quanto o Instituto Nacional de Padrões e Tecnologias (NIST) atribuam uma pontuação alta do Common Vulnerability Scoring System (CVSS) de 7,8.
A Red Hat também observou que se um sistema Linux já estiver usando IPsec e tiver IPSec Security Associations (SA) configurado, não serão necessários privilégios adicionais para explorar o buraco. Como quase todo mundo usa IPSec e SAs são essenciais para o protocolo de segurança da rede, isso significa que praticamente todos com o código vulnerável em sua distribuição Linux estão abertos a ataques.
Linux corrige mais um bug de rede segura
Xiaochen descobriu que as últimas distribuições do Ubuntu, Fedora e Debian Linux podem ser hackeadas com ele. A Red Hat informa que o Red Hat Enterprise Linux (RHEL) 8 é vulnerável. Especificamente, se o seu Linux contiver um módulo de criptografia esp6 2017, que contém os commits cac2661c53f3 e 03e2a30f6a27, ele poderá ser atacado.
Normalmente, esse ataque pode deixar um sistema Linux offline. Xiaochen cavou mais fundo e encontrou mais. Em sua busca, ele encontrou uma maneira de contornar o Kernel Address-space Layout Randomization (KASLR). O KASLR, como o nome diz, dificulta a exploração de vulnerabilidades de memória, colocando processos em endereços de memória aleatórios, em vez de fixos.
Então, depois de travar o processo, um invasor pode usar o Filesystem in User Space (FUSE) para criar seu próprio sistema de arquivos e mapear a memória nele. Consequentemente, todas as leituras e escritas que passam por essa memória serão tratadas por seu próprio sistema de arquivos. Uma vez feito isso, é relativamente trivial obter root no sistema. E, como todos sabemos, uma vez que o atacante tem root, o jogo acaba. O invasor está agora no comando do computador.
A boa notícia é que a correção já está disponível no Ubuntu, Debian, no kernel Linux e na maioria das outras distribuições.
Via ZDNet