Descoberta nova vulnerabilidade de escalonamento de privilégios do kernel Linux

Linux 6.5-rc4 tem uma coincidência numérica interessante
Conheça os principais recursos do kernel Linux 6.5

Uma vulnerabilidade de segurança recém-identificada no kernel do Linux teve alguns detalhes revelados. A falha em questão pode permitir que um usuário obtenha privilégios elevados em um host de destino. Vamos saber um pouco mais dessa nova falha.

Vulnerabilidade de escalonamento de privilégios do kernel Linux

Apelidado de StackRot e rastreada como CVE-2023-3269, pontuação CVSS: 7,8, a vulnerabilidade afeta as versões do Linux 6.1 a 6.4. Não há evidências de que a deficiência tenha sido explorada na natureza até o momento.

“Como o StackRot é uma vulnerabilidade do kernel do Linux encontrada no subsistema de gerenciamento de memória, ela afeta quase todas as configurações do kernel e requer recursos mínimos para ser acionada”, disse Ruihan Li, pesquisador de segurança da Universidade de Pequim.

No entanto, deve-se observar que os nós de bordo são liberados usando retornos de chamada RCU, atrasando a desalocação de memória real até depois do período de carência RCU. Consequentemente, explorar essa vulnerabilidade é considerado um desafio.

descoberta-nova-vulnerabilidade-de-escalonamento-de-privilegios-do-kernel-linux

Após a divulgação responsável em 15 de junho de 2023, ele foi corrigido nas versões estáveis ??6.1.37, 6.3.11 e 6.4.1 a partir de 1º de julho de 2023, após um esforço de duas semanas liderado por Linus Torvalds. Assim, você precisa executar a atualização quanto antes, para se livrar dessa nova vulnerabilidade do kernel do Linux.

Espera-se que uma exploração de prova de conceito (PoC) e especificações técnicas adicionais sobre o bug sejam divulgadas até o final do mês. A falha está essencialmente enraizada em uma estrutura de dados chamada maple tree, que foi introduzida no kernel Linux 6.1 como um substituto para a árvore red-black (rbtree) para gerenciar e armazenar áreas de memória virtual (VMAs), uma faixa contígua de endereços virtuais que podem ser o conteúdo de um arquivo no disco ou a memória que um programa usa durante a execução.

Exploração da falha

Especificamente, é descrito como uma falha de uso após liberação que pode ser explorada por um usuário local para comprometer o kernel e aumentar seus privilégios, aproveitando o fato de que a árvore de bordo “pode ??sofrer substituição de nó sem adquirir adequadamente o bloqueio de gravação MM”.

De acordo com Linux Torvalds, “de qualquer forma, acho que quero realmente mover todo o código de expansão da pilha para um novo arquivo próprio, em vez de dividi-lo entre mm/mmap.c e mm/memory.c, mas como isso terá que ser de qualquer maneira, eu tentei manter os patches razoavelmente mínimos”.