De acordo com os pesquisadores, a vulnerabilidade (CVE-2021-4034) foi descoberta na ferramenta pkexec
do PolicyKit, que manuseava incorretamente argumentos de linha de comando. Isso poderia levar à escalada de privilégios locais, permitindo que qualquer usuário regular em uma distribuição GNU/Linux obtenha privilégios administrativos e execute programas como administrador (root).
A má notícia é que a ferramenta pkexec
do PolicyKit ficou vulnerável por mais de 12 anos, desde sua criação em maio de 2009, e pode ser explorada mesmo que o daemon Polkit não esteja funcionando.
Embora os pesquisadores da Qualys ainda não tenham publicado sua exploração, eles disseram que a vulnerabilidade é "trivialmente explorável" e alertou os usuários do Linux de que outros pesquisadores poderiam publicar suas façanhas logo após a disponibilização de patches na maioria das distribuições.
A boa notícia é que a maioria das principais distribuições GNU/Linux já receberam versões corrigidas do pacote Polkit. No momento da escrita, os patches Debian publicados para patches Debian GNU/Linux 10 "Buster" e Debian GNU/Linux 11 "Bullseye" e patches Canonical publicados para todos os seus lançamentos suportados do Ubuntu.
Red Hat e o Fedora Project também estão testando patches para todos os seus lançamentos suportados Red Hat Enterprise Linux e Fedora Linux, e, claro, a vulnerabilidade polkit está agora corrigida em distribuições populares de lançamento contínuo como Arch Linux e openSUSE Tumbleweed.
Se a sua distro ainda não recebeu patches para esta vulnerabilidade polkit, os pesquisadores da Qualys recomendam que você remova o bit SUID da ferramenta pkexec
como uma mitigação temporária executando o comando abaixo em um emulador terminal.
sudo chmod 0755 /usr/bin/pkexec
Sem mais, tome este artigo como um lembrete para manter suas distribuições GNU/Linux atualizadas o tempo todo e não ignore atualizações e patches de segurança quando estiverem disponíveis para instalação. Se você já está atualizado, então você não deve mais se preocupar com essa falha do PolicyKit.