近期接安全厂商漏洞通报,Linux环境下Polkit的pkexec中被发现存在一个权限提升漏洞(CVE-2021-4034) ,也被称为PwnKit。该漏洞是由于pkexec无法正确处理调用参数,从而将环境变量作为命令执行,具有任意用户权限的攻击者都可以在默认配置下通过修改环境变量来利用此漏洞,从而获得受影响主机的root权限。目前该漏洞的细节和PoC已公开,存在较高安全风险,请相关师生用户尽快采取措施进行防护。该漏洞详情和修复措施如下:
漏洞详情
Polkit(PolicyKit)是一个用于控制类Unix系统中控制系统范围权限的组件,它为非特权进程与特权进程的通信提供了一种有组织的方式。pkexec是Polkit开源应用框架的一部分,它负责协商特权进程和非特权进程之间的互动,允许授权用户以另一个用户的身份执行命令,是sudo的替代方案。
该漏洞是由于pkexec在处理传入参数的逻辑出现问题,导致环境变量被污染,最终交由pkexec代码逻辑执行实现客户机权限提升。有普通权限用户的攻击者通过执行漏洞文件,触发越界读写,从而在目标系统上造成权限提升。
风险等级
高危
影响范围
Polkit默认安装在多个主流Linux系统上,由2009年5月发布的第一个版本引入,并影响后续所有版本。以下为CentOS及Ubuntu上的安全版本:
CentOS系列:
CentOS 6:polkit-0.96-11.el6_10.2
CentOS 7:polkit-0.112-26.el7_9.1
CentOS 8.0:polkit-0.115-13.el8_5.1
CentOS 8.2:polkit-0.115-11.el8_2.2
CentOS 8.4:polkit-0.115-11.el8_4.2
Ubuntu系列:
Ubuntu 21.10 (Impish Indri) < Released (0.105-31ubuntu0.1)
Ubuntu 21.04 (Hirsute Hippo) Ignored (reached end-of-life)
Ubuntu 20.04 LTS (Focal Fossa) < Released (0.105-26ubuntu1.2)
Ubuntu 18.04 LTS (Bionic Beaver) < Released (0.105-20ubuntu0.18.04.6)
Ubuntu 16.04 ESM (Xenial Xerus) < Released (0.105-14.1ubuntu0.5+esm1)
Ubuntu 14.04 ESM (Trusty Tahr) < Released (0.105-4ubuntu3.14.04.6+esm1)
修复建议:
目前各Linux发行版官方均已给出安全补丁,建议用户尽快升级至安全版本,或参照官方说明措施进行缓解,CentOS、Ubuntu及Debian用户可参考以下链接进行升级:
https://ubuntu.com/security/CVE-2021-4034
https://access.redhat.com/security/cve/CVE-2021-4034
https://security-tracker.debian.org/tracker/CVE-2021-4034
CentOS、Ubuntu的用户可以使用以下命令升级Polkit到最新版本:
CentOS系列:
yum clean all && yum makecache
yum update polkit -y
验证修复,可通过以下命令查看 Polkit 是否为安全版本:
rpm -qa polkit
Ubuntu系列:
sudo apt-get update
sudo apt-get install policykit-1
验证修复后,可通过以下命令查看 Polkit 是否为安全版本:
dpkg -l policykit-1
临时修复建议:
1. 如果系统没有可用的补丁,可以从 pkexec 中删除 SUID 位作为临时缓解措施,输入以下命令:
chmod 0755 /usr/bin/pkexec
2. 如非必要,建议临时删除 pkexec 可执行程序。
信息来源:安天科技、绿盟科技、360安全