CVE-2021-4034 polkit(pkexec)提权漏洞复现
一.漏洞简述:
polkit是一个授权管理器,其系统架构由授权和身份验证代理组成,pkexec是其中polkit的其中一个工具,他的作用有点类似于sudo,允许用户以另一个用户身份执行命令
polkit 提供了一个授权 API,供特权程序(“ MECHANISMS ” )使用,通常通过某种形式的进程间通信机制为非特权程序( “ SUBJECTS ”)提供服务。在这种情况下,该机制通常将主体视为不受信任。对于来自主体的每个请求,该机制需要确定该请求是否被授权,或者它是否应该拒绝为主体提供服务。使用 polkit API,一种机制可以将此决定转交给受信任的一方:polkit 权威。
polkit 权限被实现为系统守护进程 polkitd (8),它本身没有什么特权,因为它以 polkitd系统用户身份运行。机制、主体和认证代理使用系统消息总线与授权机构进行通信。
除了作为授权之外,polkit 还允许用户通过验证管理用户或客户端所属会话的所有者来获得临时授权。这对于机制需要验证系统的操作员确实是用户还是管理用户的场景很有用
plokit基本组成
polkit— 授权管理器
polkitd— polkit 系统守护进程
pkcheck— 检查一个进程是否被授权
pkaction— 获取有关已注册操作的详细信息
pkexec— 以另一个用户身份执行命令
pkttyagent— 文本认证助手
(2)执行exp提权root
make
./exploit
id
六.漏洞原理参考:
PwnKit: Local Privilege Escalation Vulnerability Discovered in polkit’s pkexec (CVE-2021-4034)
Qualys 漏洞和威胁研究总监Bharat Jogi
Bharat Jogi, Director, Vulnerability and Threat Research, Qualys
https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034
polkit概述
https://www.freedesktop.org/software/polkit/docs/latest/
polkit架构及描述
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
pkexec架构及描述
https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html
CVE-2021-4034 深入分析及漏洞复现
23R3F: