Foi revelada uma técnica para explorar uma vulnerabilidade no subsistema tty do kernel. Linux

Pesquisadores da equipe Project Zero do Google publicaram um método para explorar uma vulnerabilidade (CVE-2020-29661) na implementação do manipulador ioctl TIOCSPGRP do subsistema tty do kernel. LinuxAlém disso, examinou detalhadamente os mecanismos de proteção que poderiam bloquear tais vulnerabilidades.

O bug que causava o problema foi corrigido no kernel. Linux Em 3 de dezembro do ano passado, o problema surgiu em kernels anteriores à versão 5.9.13, mas a maioria das distribuições corrigiu o problema em atualizações de pacotes do kernel lançadas no ano passado (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Uma vulnerabilidade semelhante (CVE-2020-29660) foi encontrada simultaneamente na implementação da chamada ioctl TIOCGSID, mas também já foi amplamente corrigida.

O problema é causado por um erro na configuração de bloqueio, levando a uma condição de corrida em drivers/tty/tty_jobctrl.c, que foi explorada com sucesso para criar uma condição de uso após liberação (use-after-free), explorável a partir do espaço do usuário manipulando a chamada ioct do TIOCSPGRP. Um exploit funcional foi demonstrado para escalonamento de privilégios em Debian 10 com kernel 4.19.0-13-amd64.

O artigo publicado foca menos na técnica para criar um exploit funcional e mais nas ferramentas de kernel existentes para proteção contra tais vulnerabilidades. A conclusão não é animadora: métodos como segmentação de memória heap e controle pós-liberação não são usados ​​na prática porque levam à redução do desempenho, e a proteção baseada em CFI (Integridade do Fluxo de Controle), que bloqueia exploits nos estágios finais de um ataque, requer desenvolvimento adicional.

Ao considerar o que poderia melhorar a situação a longo prazo, destacam-se analisadores estáticos avançados ou linguagens com segurança de memória, como Rust e dialetos de C com anotações avançadas (por exemplo, Checked C). Essas linguagens verificam o estado de bloqueios, objetos e ponteiros em tempo de compilação. Outros métodos de proteção recomendados incluem ativar o `panic_on_oops`, tornar as estruturas do kernel somente leitura e restringir o acesso a chamadas de sistema usando mecanismos como o `seccomp`.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster