概述
一、漏洞简述
Trustwave安全和工程团队于1月25日发现了Polkit的pkexec组件中的漏洞,该漏洞被识别为CVE-2021-4034 (PwnKit)。在polkit
的pkexec
实用程序中发现了一个本地权限提升漏洞。pkexec
应用程序是一个setuid
工具,旨在允许非特权用户根据预定义的策略以特权用户身份运行命令。当前版本的pkexec
无法正确处理调用参数计数,并最终尝试将环境变量作为命令执行。攻击者可以通过制作环境变量来利用这一点,从而诱导pkexec
执行任意代码。成功执行后,由于目标计算机上的非特权用户管理权限,攻击可能会导致本地特权升级。
二、Polkit简介
Polkit(PolicyKit)是一个用于控制类Unix系统中控制系统范围权限的预装组件,它为非特权进程与特权进程的通信提供了一种有组织的方式。pkexec是Polkit开源应用框架的一部分,它负责协商特权进程和非特权进程之间的互动,允许授权用户以另一个用户的身份执行命令,是sudo的替代方案。
三、影响范围
由于polkit为系统预装工具,目前主流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
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
五、漏洞验证
通过以下命令可查看 Polkit 是否为安全版本:
centos:rpm -qa polkit
Ubuntu:dpkg -l policykit-1
六、漏洞复现过程
- 漏洞复现环境
- 系统:
Centos7
polkit版本:polkit-0.112-18.el7.x86_64
(通过rpm -qa polkit
命令查询) - POC地址:
https://github.com/berdav/CVE-2021-4034
- 下载POC到本地
git clone https://github.com/berdav/CVE-2021-4034.git
cd CVE-2021-4034
make
./cve-2021-4034
注意:命令是./cve-2021-4034
,没有空格,加空格无法执行。
因为我的CentOS7
无法将POC下载到本地,这里我是使用finalshell
将POC上传到CentOS7
。
漏洞利用正常,直接反弹root shell
。
七、修复建议
建议广大用户及时将pkexec
升级到最新版本。
7.1 Centos
yum cleanall &&
yum makecacheyum updatepolkit -y
7.2 Ubuntu
sudo apt-get update
sudo apt-get installpolicykit-1
最后
以上就是单身皮卡丘为你收集整理的【CVE-2021-4034-pkexec本地提权复现】一、漏洞简述二、Polkit简介三、影响范围四、不受影响版本五、漏洞验证六、漏洞复现过程七、修复建议的全部内容,希望文章能够帮你解决【CVE-2021-4034-pkexec本地提权复现】一、漏洞简述二、Polkit简介三、影响范围四、不受影响版本五、漏洞验证六、漏洞复现过程七、修复建议所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复