polkit(ploicykit)特权提升漏洞解决方案
一、【概述】
polkit 的 pkexec 存在本地权限提升漏洞,已获得普通权限的攻击者可通过此漏洞获取root权限,漏洞利用难度低。
pkexec是一个Linux下Polkit里的setuid工具,允许授权用户在预定的策略下以其他用户身份执行命令,默认使用root权限(pkexec属主为root,同时附加SUID权限)。
由于系统默认版本的pkexec无法正确处理调用参数计数,并最终会尝试将环境变量作为命令执行;攻击者可以通过控制环境变量,从而诱导pkexec执行任意代码。利用成功后,可导致非特权用户获得管理员权限。
执行成功返回值0,执行失败返回值127。
漏洞CVSS(通用漏洞评分系统)评分:7.8
危害等级:高 ([7-10]为高危漏洞)
二、【影响版本】
由于 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
四、【漏洞修复】
1. 临时修复
删除pkexec的SUID-bit权限来缓解该漏洞风险:
# chmod 0755/usr/bin/pkexec # chmod u-s /usr/bin/pkexec

2. 完全修复——在线升级
使用centos的官方源
# yum clean all && yum makecache && yum update polkit -y
3. 完全修复——离线升级
以Centos7为例:
下载地址
# wget http://mirror.centos.org/centos/7/updates/x86_64/Packages/polkit-0.112-26.el7_9.1.x86_64.rpm
升级
# rpm -Uvh polkit-0.112-26.el7_9.1.x86_64.rpm

附:参考链接 Linux polkit本地权限提升漏洞(CVE-2021-4034)修复案例与POC复现方法 - 亮亮实验室 - 博客园 (cnblogs.com)

浙公网安备 33010602011771号