漏洞描述
受影响版本的 pkexec 无法正确处理调用参数计数,最终尝试将环境变量作为命令执行,攻击者可以通过修改环境变量来利用此漏洞,诱使 pkexec 执行任意代码,从而导致将本地权限提升为 root。
影响范围
由于为系统预装工具,目前主流 Linux 版本均受影响
参考安全版本
centos6: polkit-0.96-11.e16_10.2
centos7: polkit-0.112-26.el7_9.1
centos8: polkit-0.115-13.el8_5.1
centos8.2: polkit-0.115-11.el8_2.2
centos8.4: polkit-0.115-11.el8_4.2
升级操作
以下操作,是基于用CentOS7演示 (本文使用 aliyun 的在线 yum 源),服务器需要可以访问阿里云yum源
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
- 查看polkit是否为安全版本
[root@localhost ~]# rpm -qa polkit
polkit-0.112-26.el7.x86_64
- 配置
aliyun yum
源,如有可用yum
源,此步骤可以省略
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv *.repo backup/
[root@localhost yum.repos.d]# wget -c http://mirrors.aliyun.com/repo/Centos-7.repo -O CentOS-7-aliyun.repo
[root@localhost yum.repos.d]# ll
总用量 4
drwxr-xr-x. 2 root root 220 1月 30 15:49 backup
-rw-r--r--. 1 root root 2523 12月 26 2020 CentOS-7-aliyun.repo
[root@localhost yum.repos.d]# yum clean all && yum makecache
- 升级到安全本版或最高版本
yum update polkit -y
- 再次查看polkit版本
[root@localhost yum.repos.d]# rpm -qa polkit
polkit-0.112-26.el7_9.1.x86_64