Especialistas descobriram uma vulnerabilidade no Polkit, um componente que controla sistemas com todo os privilégios presentes na maioria das distribuições Linux. Este componente conta com o pkexec, uma ferramenta que faz com que um usuário sem privilégios possa executar comandos como se fosse outro usuário com os privilégios máximos. A vulnerabilidade foi registrada como CVE-2021-4034 e apelidada de PwnKit. A falha existe desde 2009, por isso afeta todas as versões do Polkit.
A exploração dessa CVE permite que um usuário local sem privilégios obtenha acesso root (privilégios totais de superusuário) no host vulnerável. Além disso, os pesquisadores da Qualys, responsáveis pela descoberta, desenvolveram um exploit e demonstraram como poderiam ganhar privilégios root no Ubuntu, Debian, Fedora e CentOS. Eles também garantem que outras distribuições Linux sejam vulneráveis ao PwnKit.
Apesar dos pesquisadores destacarem que a exploração da falha ocorre de forma bem simples, é surpreendente que em menos de três horas após a publicação da análise técnica produzida pela Qualys sobre a vulnerabilidade, os especialistas tenham publicado um exploit que realmente funciona e permite a obtenção de privilégios root em um sistema, assim como confirma o site de notícias BleepingComputer. Além disso, Will Dorman, analista do CERT Coordination Center, confirmou que o exploits também funciona em sistemas ARM64.
A falha ocorre quando o pkexec não lida corretamente com os parâmetros de chamada e acaba tentando executar variáveis de ambiente como comandos. Os pesquisadores sugerem a instalação dos patches lançados pelos autores do Polkit. A maioria das distribuições Linux está trabalhando em um patch que provavelmente será lançado em breve. O Ubuntu já lançou um patch que corrige a vulnerabilidade para as versões ESM 14.04 e 16.04 e para as versões 18.04, 20.04 e 21.10.
Embora não possa ser explorada remotamente e exija que o atacante tenha acesso local a uma conta, a vulnerabilidade é categorizada como importante. Além disso, embora já existe um exploit para a falha, é provável que outros também surjam.