polkit pkexec本地提权(CVE-2021-4034)

CVE-2021-4034

漏洞概述

近日,国外安全团队发布安全公告称,在 polkit 的 pkexec 程序中发现了一个本地权限提升漏洞。pkexec 应用程序是一个 setuid 工具,旨在允许非特权用户根据预定义的策略以特权用户身份运行命令。 由于当前版本的 pkexec 无法正确处理调用参数计数,并最终会尝试将环境变量作为命令执行。攻击者可以通过控制环境变量,从而诱导 pkexec 执行任意代码。利用成功后,可导致非特权用户获得管理员权限。

影响版本

  • ubuntu用户对照

https://ubuntu.com/security/CVE-2021-4034

  • centos用户对照

https://access.redhat.com/security/cve/CVE-2021-4034

  • debian用户对照

https://security-tracker.debian.org/tracker/CVE-2021-4034

漏洞测试

利用脚本github地址:https://github.com/berdav/CVE-2021-4034

查看linux版本以及polkit包版本

# debian&ubuntu
cat /etc/os-release
dpkg -l | grep polkit

# redhat
cat /etc/redhat-release
rpm -qa polkit

使用debian9进行测试

git clone https://github.com/berdav/CVE-2021-4034
make
./cve-2021-4034

image-20220210152103149

防御手段

1.更新到最新的polkit版本

2.将pkexec的suid权限取消

chmod 0755 /usr/bin/pkexec

之后使用提权脚本会提示

GLib: Cannot convert message: Could not open converter from 'UTF-8' to 'PWNKIT'
pkexec must be setuid root

image-20220210155651003

posted @ 2022-02-10 15:23  LEOGG  阅读(548)  评论(0编辑  收藏  举报