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)

posted @ 2022-03-07 17:47  咿呀哒喏  阅读(582)  评论(0)    收藏  举报