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

admin 2022年1月27日13:24:361 1,037 views字数 1560阅读5分12秒阅读模式

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

一、漏洞详情

  • 漏洞名称:Linux polkit本地权限提升漏洞(CVE-2021-4034)
  • 漏洞类型:应用漏洞
  • 威胁等级:高危
  • CVE编号: CVE-2021-4034
  • 披露时间: 2022-01-26 
  • 漏洞描述: 近日,国外安全团队发布安全公告称,在 polkit 的 pkexec 程序中发现了一个本地权限提升漏洞。pkexec 应用程序是一个 setuid 工具,旨在允许非特权用户根据预定义的策略以特权用户身份运行命令。由于当前版本的 pkexec 无法正确处理调用参数计数,并最终会尝试将环境变量作为命令执行。攻击者可以通过控制环境变量,从而诱导 pkexec 执行任意代码。利用成功后,可导致非特权用户获得管理员权限。

具体漏洞原理分析见如下链接

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

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

(图片可点击放大查看)

  • 风险等级:高

目前漏洞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已经提供修复包参考如下链接

https://access.redhat.com/security/cve/CVE-2021-4034

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

(图片可点击放大查看)

截止到目前2022/01/26, CentOS目前已提供安全更新包

http://mirror.centos.org/centos/7/updates/x86_64/Packages/polkit-0.112-26.el7_9.1.x86_64.rpm

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

(图片可点击放大查看)

修复建议:CentOS用户官方源更新采用如下命令升级到安全版本或更高版本:

yum clean all && yum makecache
yum update polkit -y

验证修复,通过以下命令可查看Polkit是否为安全版本

rpm -qa polkit

二、漏洞复现POC

如下图所示 

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

(图片可点击放大查看)

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

(图片可点击放大查看)

普通用户使用POC程序可以直接提权到root,可见漏洞风险较高

三、漏洞临时缓解措施

chmod 0755 /usr/bin/pkexec

如下图所示,使用临时缓解措施后可以看到POC不再成功 

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

(图片可点击放大查看)

对比临时缓解措施修复前和修复后s位

ll /usr/bin/pkexec
stat /usr/bin/pkexec

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

(图片可点击放大查看)

四、漏洞彻底修复方法

也可以手动下载polkit-0.112-26.el7_9.1.x86_64.rpm进行rpm -Uvh修复

rpm -Uvh polkit-0.112-26.el7_9.1.x86_64.rpm

rpm -aq | grep polkit查看Polkit是否为安全版本

如图所示,先还原成原状态,再rpm -Uvh升级验证是否修复

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

(图片可点击放大查看)

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

(图片可点击放大查看)

POC程序运行这时无法提权,漏洞修复成功

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

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

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

原文始发于微信公众号(释然IT杂谈):【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月27日13:24:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法http://cn-sec.com/archives/756438.html
评论  1  访客  1
    • Vincent 0

      CentOS 6:polkit-0.96-11.el6_10.2, 这个安装包去哪找呢,没有Yum源了呢。

    发表评论

    匿名网友 填写信息