Bug de serviço do sistema Linux dá root em todas as principais distros, exploit lançado

Uma vulnerabilidade no componente pkexec do Polkit identificada como CVE-2021-4034 (PwnKit) está presente na configuração padrão de todas as principais distribuições Linux e pode ser explorada para obter privilégios totais de root no sistema, alertam os pesquisadores hoje.

O CVE-2021-4034 foi nomeado PwnKit e sua origem foi rastreada até o commit inicial do pkexec, há mais de 12 anos, o que significa que todas as versões do Polkit são afetadas.

Parte da estrutura de aplicativos de código aberto Polkit que negocia a interação entre processos privilegiados e não privilegiados, o pkexec permite que um usuário autorizado execute comandos como outro usuário, dobrando como uma alternativa ao sudo.

Fácil de explorar, PoC esperado em breve

Pesquisadores da empresa de segurança da informação Qualys descobriram que o programa pkexec pode ser usado por invasores locais para aumentar os privilégios de root em instalações padrão do Ubuntu, Debian, Fedora e CentOS.

Eles alertam que o PwnKit provavelmente também pode ser explorado em outros sistemas operacionais Linux.

Bharat Jogi, Diretor de Vulnerabilidade e Pesquisa de Ameaças da Qualys, explica que o PwnKit é “uma vulnerabilidade de corrupção de memória no Polkit, que permite que qualquer usuário sem privilégios obtenha privilégios totais de root em um sistema vulnerável usando a configuração padrão do polkit”.

O pesquisador observa que o problema está escondido à vista de todos desde a primeira versão do pkexec inn maio de 2009. O vídeo abaixo demonstra a capacidade de exploração do bug:

Explorar a falha é tão fácil, dizem os pesquisadores, que o código de exploração de prova de conceito (PoC) deve se tornar público em apenas alguns dias. A equipe de pesquisa da Qualys não lançará um PoC para o PwnKit.

Atualização : Um exploit já surgiu no espaço público, menos de três horas depois que a Qualys publicou os detalhes técnicos do PwnKit. O BleepingComputer compilou e testou o exploit disponível, que provou ser confiável, pois nos deu privilégios de root no sistema em todas as tentativas.

A exploração estável do PwnKit dá privilégios de root ao usuário sem privilégios
fonte: BleepingComputer

Referindo-se à exploração, o analista de vulnerabilidades do CERT/CC Will Dormann disse que é simples e universal. O pesquisador testou ainda em um sistema ARM64, mostrando que também funciona nessa arquitetura.

A Qualys relatou o problema de segurança com responsabilidade em 18 de novembro de 2021 e esperou a disponibilização de um patch antes de publicar os detalhes técnicos por trás do PwnKit .

A empresa recomenda fortemente que os administradores priorizem a aplicação dos patches que os autores do Polkit lançaram em seu GitLab algumas horas atrás.

As distribuições Linux tiveram acesso ao patch algumas semanas antes da divulgação coordenada de hoje da Qualys e devem lançar pacotes pkexec atualizados a partir de hoje.

O Ubuntu já empurrou atualizações para PolicyKit para resolver a vulnerabilidade nas versões  14.04 e 16.04 ESM (manutenção de segurança estendida), bem como nas versões mais recentes  18.04, 20.04 e 21.04. Os usuários só precisam executar uma atualização de sistema padrão e, em seguida, reinicializar o computador para que as alterações entrem em vigor.

A Red Hat também forneceu uma atualização de segurança para polkit em Workstation e em produtos Enterprise para arquiteturas suportadas, bem como para suporte de ciclo de vida estendido, TUS e AUS.

Uma mitigação temporária para sistemas operacionais que ainda precisam enviar um patch é usar o seguinte comando para retirar o pkexec do bit setuid:

chmod 0755 /usr/bin/pkexec

Os usuários que desejam procurar sinais de exploração do PwnKit podem fazê-lo verificando os logs por “ O valor da variável SHELL não foi encontrado no arquivo /etc/shells ” ou “ O valor da variável de ambiente […] contém conteúdo suspeito . ” entradas.

No entanto, Qualys observa que é possível explorar o PwnKit sem deixar rastros.

No ano passado, o pesquisador do GitHub Security Lab, Kevin Backhouse, descobriu outra vulnerabilidade antiga de escalonamento de privilégios que afetava o Polkit .

O bug estava presente há sete anos, desde a versão 0.113 do componente e afetou distribuições populares do Linux, incluindo RHEL 8, Fedora 21 (ou posterior), Ubuntu 20.04 e versões instáveis ​​do Debian (‘bullseye’) e seus derivados.

Atualização [25 de janeiro, 17:26 EST] : Adicionados avisos de segurança no PolicyKit / Polkit do Ubuntu e Red Hat.

Atualização [25 de janeiro, 17:43 EST]: Artigo atualizado com informações sobre o código de exploração de prova de conceito que está disponível publicamente.

Fonte: https://www.bleepingcomputer.com/