近日,奇安信CERT监测到国外安全研究团队披露了Polkit pkexec权限提升漏洞(CVE-2021-4034)。具有低权限的攻击者可利用此漏洞在易受攻击的主机上获得ROOT特权。安全研究人员已经在默认安装的Ubuntu、Debian、Fedora 和CentOS 系统上成功利用此漏洞获得了完整的ROOT权限。目前,此漏洞细节、PoC及EXP已公开,经奇安信CERT已验证,此漏洞EXP有效且稳定。鉴于此漏洞影响较大,建议客户尽快做好自查及防护。

当前漏洞状态

细节是否公开

PoC状态

EXP状态

在野利用

已公开

已公开

未知

漏洞描述

Polkit是一个用于在类Unix操作系统中控制系统范围权限的组件,它为非特权进程与特权进程提供了一种通信方式。Polkit中的pkexec应用程序旨在允许非特权用户根据预定义的策略以特权用户身份运行命令。Polkit pkexec存在本地权限提升漏洞(CVE-2021-4034)。由于pkexec无法正确处理调用参数计数,攻击者可以通过制作环境变量来诱导pkexec执行任意代码。具有低权限的攻击者可以利用此漏洞绕过pkexec自带的安全保护措施,获取目标机器的ROOT权限。目前,此漏洞细节以及PoC/EXP都已经公开,经验证,此漏洞利用难度低且可以稳定利用,建议客户尽快自查修复。

公开的PoC利用此漏洞向系统注入环境变量GCONV_PATH,将该环境变量指向攻击者存放gconv-modules文件的目录,在gconv-modules文件中指定攻击者的恶意.so文件,pkexec会执行.so文件里面的gonv_init()函数,在gonv_init()函数内将自身进程的各个权限标志位设为0从而达到提权。

漏洞名称

Polkit pkexec权限提升漏洞

漏洞类型

权限提升

风险等级

高危

漏洞ID

CVE-2021-4034

公开状态

已公开

在野利用

未知

漏洞描述

Polkit pkexec存在本地权限提升漏洞(CVE-2021-4034)。由于pkexec无法正确处理调用参数计数,攻击者可以通过制作环境变量来诱导pkexec执行任意代码。具有低权限的攻击者可以利用此漏洞绕过pkexec自带的安全保护措施,获取目标机器的ROOT权限。

参考链接

https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034

奇安信CERT已成功复现此漏洞,复现截图如下:

风险等级

奇安信 CERT风险评级为:高危

风险等级:蓝色(一般事件)

影响范围

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 20.04 LTS:policykit-1-0.105-26ubuntu1.2

Ubuntu 18.04 LTS:policykit-1-0.105-20ubuntu0.18.04.6

Ubuntu 16.04 ESM:policykit-1-0.105-14.1ubuntu0.5+esm1

Ubuntu 14.04 ESM:policykit-1-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

版本检测:rpm -qa polkit

Ubuntu系列:

sudo apt-get update

sudo apt-get install policykit-1

版本检测:dpkg -l policykit-1

参考资料

[1] https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034

时间线

2021年1月26日,奇安信 CERT发布安全风险通告

声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。