一、漏洞详情
- 漏洞名称:Linux polkit本地权限提升漏洞(CVE-2021-4034)
- 漏洞类型:应用漏洞
- 威胁等级:高危
- CVE编号: CVE-2021-4034
- 披露时间: 2022-01-26
- 漏洞描述: 近日,国外安全团队发布安全公告称,在 polkit 的 pkexec 程序中发现了一个本地权限提升漏洞。pkexec 应用程序是一个 setuid 工具,旨在允许非特权用户根据预定义的策略以特权用户身份运行命令。由于当前版本的 pkexec 无法正确处理调用参数计数,并最终会尝试将环境变量作为命令执行。攻击者可以通过控制环境变量,从而诱导 pkexec 执行任意代码。利用成功后,可导致非特权用户获得管理员权限。
具体漏洞原理分析见如下链接
代码语言:javascript复制https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034
(图片可点击放大查看)
- 风险等级:高
目前漏洞POC已被泄露,攻击者利用该漏洞可导致恶意用户权限提升等危害
- 影响版本:由于为系统预装工具,目前主流Linux版本均受影响
- 安全版本
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
目前RedHat已经提供修复包参考如下链接
代码语言:javascript复制https://access.redhat.com/security/cve/CVE-2021-4034
(图片可点击放大查看)
截止到目前2022/01/26, CentOS目前已提供安全更新包
代码语言:javascript复制http://mirror.centos.org/centos/7/updates/x86_64/Packages/polkit-0.112-26.el7_9.1.x86_64.rpm
(图片可点击放大查看)
修复建议:CentOS用户官方源更新采用如下命令升级到安全版本或更高版本:
代码语言:javascript复制yum clean all && yum makecache
yum update polkit -y
验证修复,通过以下命令可查看Polkit是否为安全版本
代码语言:javascript复制rpm -qa polkit
二、漏洞复现POC
如下图所示
(图片可点击放大查看)
(图片可点击放大查看)
普通用户使用POC程序可以直接提权到root,可见漏洞风险较高
三、漏洞临时缓解措施
代码语言:javascript复制chmod 0755 /usr/bin/pkexec
如下图所示,使用临时缓解措施后可以看到POC不再成功
(图片可点击放大查看)
对比临时缓解措施修复前和修复后s位
代码语言:javascript复制ll /usr/bin/pkexec
stat /usr/bin/pkexec
(图片可点击放大查看)
四、漏洞彻底修复方法
也可以手动下载polkit-0.112-26.el7_9.1.x86_64.rpm进行rpm -Uvh修复
代码语言:javascript复制rpm -Uvh polkit-0.112-26.el7_9.1.x86_64.rpm
rpm -aq | grep polkit查看Polkit是否为安全版本
如图所示,先还原成原状态,再rpm -Uvh升级验证是否修复
(图片可点击放大查看)
(图片可点击放大查看)
POC程序运行这时无法提权,漏洞修复成功