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
防御手段
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
本博文仅限于博主个人学习和分享使用,请勿用于违法行为。如有侵权,请联系一定删除!