【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法

2022-03-31 20:42:28 浏览数 (1)

一、漏洞详情

  • 漏洞名称: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程序运行这时无法提权,漏洞修复成功

0 人点赞