【漏洞复现】Linux Polkit权限提升漏洞(CVE-2021-4034)


前言

1月25日,研究人员公开披露了在 polkit 的 pkexec 中发现的一个权限提升漏洞(CVE-2021-4034 ,也称PwnKit),它存在于所有主流的 Linux 发行版的默认配置中。受影响版本的 pkexec 无法正确处理调用参数计数,最终尝试将环境变量作为命令执行,攻击者可以通过修改环境变量来利用此漏洞,诱使 pkexec 执行任意代码,从而导致将本地权限提升为root。


一、漏洞描述

Polkit是一个在类 Unix操作系统中控制系统范围权限的组件,通过定义和审核权限规则,实现不同优先级进程间的通讯。Polkit存在于所有主流的Linux发行版的默认配置中,攻击者可通过修改环境变量来利用此漏洞,进而提升本地用户权限。

二、漏洞验证

1.查看系统Polkit版本

Centos:
rpm -qa polkit

Ubuntu:
dpkg -l policykit-1

2.影响范围

a.受影响版本

2009年5月至今发布的所有 Polkit 版本

注:Polkit预装在CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等多个Linux发行版上,所有存在Polkit的Linux系统均受影响。

b.不受影响版本

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 14.04 ESM:policykit-1-0.105-4ubuntu3.14.04.6+esm1
    Ubuntu 16.04 ESM:policykit-1-0.105-14.1ubuntu0.5+esm1
    Ubuntu 18.04 LTS:policykit-1-0.105-20ubuntu0.18.04.6
    Ubuntu 20.04 LTS:policykit-1-0.105-26ubuntu1.2
    Ubuntu 21.10:policykit-1-0.105-31ubuntu0.1

3.复现过程

a.查看当前用户权限,查看polkit版本,确定为低权限用户。
查看用户权限及polkit版本
b.编译
编译

c.运行poc,成功获取root权限
执行

4.修复建议

用户可以安装最新版本的polkit。可以使用以下命令升级polkit到最新版本。

CentOS系列:
yum clean all && yum makecache
yum update polkit -y
 
Ubuntu系列:
sudo apt-get update
sudo apt-get install policykit-1

免责声明

根据《中华人民共和国网络安全法》以及《中华人民共和国刑法》法律规定,在没有获得企业或者个人的渗透测试授权书时擅自对于网站进行脆弱性安全测试导致数据财产损失可能面临法律责任,本文章出自研究使用,本人不负任何法律责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值