Vulnerabilidade no ambiente do usuário do Enlightenment que permite acesso root

Uma vulnerabilidade (CVE-2022-37706) foi identificada no ambiente de usuário do Enlightenment que permite que um usuário local sem privilégios execute código com direitos de root. A vulnerabilidade ainda não foi corrigida (0 dia), mas já existe um exploit disponível em domínio público, testado no Ubuntu 22.04.

O problema está no executável lighting_sys, que vem com o sinalizador suid root e executa certos comandos permitidos, como montar a unidade com o utilitário mount, por meio de uma chamada para system(). Devido ao funcionamento incorreto da função que gera a string passada para a chamada system(), as aspas são cortadas dos argumentos do comando que está sendo lançado, que podem ser utilizadas para executar seu próprio código. Por exemplo, ao executar mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploit iluminação_sys /bin/mount - o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), “/dev/../tmp/;/tmp/exploit” /tmp// / líquido

devido à remoção das aspas duplas, em vez do comando especificado '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' uma string sem aspas duplas será passado para a função system() ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', o que fará com que o comando '/tmp/exploit /tmp///net 'para ser executado separadamente em vez de ser processado como parte do caminho para o dispositivo. As linhas "/dev/../tmp/" e "/tmp///net" são escolhidas para ignorar a verificação de argumentos para o comando de montagem em iluminação_sys (o dispositivo de montagem deve começar com /dev/ e apontar para um arquivo existente, e os três caracteres "/" no ponto de montagem são especificados para atingir o tamanho de caminho necessário).

Fonte: opennet.ru

Adicionar um comentário