漏洞简介
开发Linux桌面软件,需要用到其他用户身份执行操作,通常为root用户。一般使用sudo命令,也可以是polkit。
Polkit(以前称为 PolicyKit)是一个用于在类 Unix 操作系统中控制系统范围权限的组件。它为非特权进程与特权进程通信提供了一种有组织的方式。也可以使用 polkit 执行具有提升权限的命令,使用命令 pkexec 后加要执行的命令(具有root权限)。
pkexec:以其他用户身份执行命令
命令:pkexec [--version][--help]
漏洞原理
pkexec存在本地权限提升漏洞,获得普通权限的攻击者可通过此漏洞获取root权限
影响版本
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