1.漏洞介绍
RedHat注意到在pkexec中发现的一个漏洞,该漏洞允许经过身份验证的用户执行权限提升攻击。polkit包旨在定义和处理允许非特权进程与Linux系统上的特权进程通行的策略,Pkexec是polkit的一部分,是一个允许用户根据polkit策略定义使用setuid功能以其他用户身份执行命令的工具。pkexec中发现的漏洞允许无特权的本地攻击者提升权限,由于对进程参数向量的处理不正确而绕过任何身份验证和策略。
主要风险是非特权用户可能获取受影响系统的管理特权,攻击者必须具有对目标系统的登录权限才能执行攻击。
2.受影响系统版本信息
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
3.漏洞复现
查看pkexec版本
执行漏洞测试脚本
POC获取:
GitHub - berdav/CVE-2021-4034: CVE-2021-4034 1day
编译提权脚本
创建一个普通用户
执行提权脚本
4.漏洞修复
4.1 临时修复
将pkexec中的SUID-bit删除进行临时规避
chmod 0755 /usr/bin/pkexec
4.2 yum源升级修复
#centos
rpm -qa polkit
yum -y update polkit
#ubuntu
dpkg -l |grep policykit
apt-get -y install policykit-1
4.3 通过rpm包升级polkit
查看rpm包
下载对应的rpm包
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
测试以CentOS Linux release 7.8.2003为例
下载rpm包polkit-0.112-26.el7_9.1,将其上传到Linux服务器中,执行安装命令
rpm -Uvh polkit-0.112-26.el7_9.1.x86_64.rpm
4.4 漏洞复测
使用测试脚本测试
参考内容:
cve-2021-4034修复和复现方法_段帅星的博客-CSDN博客
版权归原作者 Jietewang 所有, 如有侵权,请联系我们删除。