什么是Polkit
Polkit是一个应用程序级别的工具集,通过定义和审核权限规则,实现不同优先级进程间的通讯:控制决策集中在统一的框架之中,决定低优先级进程是否有权访问高优先级进程。
pkexec是一个Linux下Polkit里的setuid工具,允许授权用户在预定的策略下以其他用户身份执行命令。
漏洞介绍
近日,Qualys研究团队公开披露了在Polkit的pkexec 中发现的一个权限提升漏洞,也被称为PwnKit。该漏洞是由于pkexec 无法正确处理调用参数,从而将环境变量作为命令执行,任何非特权本地用户可通过此漏洞获取root权限。目前该漏洞PoC已公开。
漏洞危害
具有任意用户权限的攻击者都可以在默认配置下通过修改环境变量来利用此漏洞,从而获得受影响主机的root 权限。
影响范围
2009年5月至今发布的所有 Polkit 版本
包括:
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
漏洞复现:
poc的下载和编译:
POC获取: GitHub - berdav/CVE-2021-4034: CVE-2021-4034 1day
编译过程,下载完poc后,查看说明进行编译:
复现:
查看pkexec的版本:
创建普通用户,在普通用户中执行提权脚本:
修复测试:
官方修复措施参考
Redhat Centos https://access.redhat.com/security/cve/CVE-2021-4034
Ubuntu https://ubuntu.com/security/CVE-2021-4034
Debian https://security-tracker.debian.org/tracker/CVE-2021-4034
Qualys https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt
参考:
CVE-2021-4034_Polkit提权漏洞复现与修复_Jietewang的博客-CSDN博客_polkit 提权
CVE-2021-4034漏洞复现_我和我的猫的博客-CSDN博客
(安全) Linux Polkit权限提升漏洞(CVE-2021-4034) + 修复_大宝不胖但是很壮的博客-CSDN博客_polkit卸载