惊爆!!!一条命令,瞬间让普通用户提权为root,赶紧修复!

简介: 该漏洞非常容易利用,允许任何未经授权的用户通过在其默认配置中利用此漏洞,来获得易受攻击主机上的完全root权限。

漏洞概述

漏洞编号:CVE-2021-4034
漏洞威胁等级:高危

Qualys研究团队在polkit的pkexec中发现了一个内存损坏漏洞,该SUID根程序默认安装在每个主要的Linux发行版上。该漏洞非常容易利用,允许任何未经授权的用户通过在其默认配置中利用此漏洞,来获得易受攻击主机上的完全root权限。

影响范围

这个漏洞已经隐藏了13年多,自2009年5月以来的所有pkexec版本均受到影响。由于Polkit是系统预装工具,目前主流Linux版本均受影响。Linux系统广泛应用于工业基础设施、云计算、物联网、人工智能等领域,绝大多数关键基础设施管理服务器均使用Linux系统。

目前受影响的重要Linux发行版本:

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

复现环境

]# uname -r
3.10.0-862.el7.x86_64
]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)

普通用户

# 获取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)

image.png

编译exp,提权为root

[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

image.png

修复

# 查看可用版本
[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

验证修复

[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>

image.png

对了,你们一直想要的Linux命令大全查询网站已经上线了,欢迎使用。

相关文章
|
5月前
|
存储 运维 安全
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
在维护Linux系统的过程中,可能会遇到各种紧急情况,其中/etc/passwd文件的损坏是运维人员特别需要准备应对的一种情形。该文件作为Linux用户账户信息的核心存储,一旦遭到破坏,会直接导致用户无法登录,甚至系统服务失败。这次处理问题的记录会提供一个详细步骤,以帮助恢复损坏的/etc/passwd文件,从而快速解决登录失败危机。
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
|
Linux 网络安全 数据安全/隐私保护
【Linux】之创建普通用户并禁止root用户远程登陆
;在有的情况下我们怕有人使用root用户登录服务器,乱窜该一些东西,或者使用删除的时候误删;为了避免这种情况,我们可以采取禁止root用户,使用普通用户来登录,这样可以在你删除的时候会提示你输入密码,之类的,这时候就会注意到,这个文件是否删除的正确。
653 0
【Linux】之创建普通用户并禁止root用户远程登陆
|
Shell Linux 数据安全/隐私保护
Linux su命令 – 切换用户、用户提权
su命令用于切换当前用户身份到指定用户或者以指定用户的身份执行命令或程序。 普通用户切换到root用户,可以使用su -- 或su root,但是必须输入root密码才能完成切换。root用户切换到普通用户,可以使用su username,不需要输入任何密码即可完成切换。
550 0
|
存储 Linux 数据安全/隐私保护
8.13 Linux删除系统用户(userdel命令)
userdel 命令功能很简单,就是删除用户的相关数据。此命令只有 root 用户才能使用。
178 0
8.13 Linux删除系统用户(userdel命令)
|
安全 Linux 网络安全
这些年积攒的系统起不来以及root登陆异常排查的点
最近在整理文档,这些年陆陆续续写了好多个不同排查点的文档去记录系统起不来,以及root登陆异常的案例,今天整理一下放出来,希望大家可以喜欢
这些年积攒的系统起不来以及root登陆异常排查的点
|
Linux 安全
怎样把linux客户端用户禁止用 su命令来切换用户
系统中有一个组叫做“wheel”,我们可以利用该组实现一些特殊的功能。我们可以将拥有su使用权限的用户加入到wheel组中并且对该组进行限制,那么只有在该组中的用户才有su的使用权限。 如要实现该功能,按照下面的步骤操作。
1206 0