漏洞描述

受影响版本的 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)
  1. 查看polkit是否为安全版本
[root@localhost ~]# rpm -qa polkit
polkit-0.112-26.el7.x86_64
  1. 配置 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
  1. 升级到安全本版或最高版本
yum update polkit -y
  1. 再次查看polkit版本
[root@localhost yum.repos.d]# rpm -qa polkit
polkit-0.112-26.el7_9.1.x86_64