Linux Polkit本地权限提升漏洞(CVE4034)修复方法

Linux Polkit本地权限提升漏洞(CVE4034)修复方法,第1张

近日,Qualys研究团队公开披露了在Polkit的pkexec 中发现的一个权限提升漏洞,也被称为PwnKit。该漏洞是由于pkexec 无法正确处理调用参数,从而将环境变量作为命令执行,任何非特权本地用户可通过此漏洞获取root权限。目前该漏洞PoC已公开。

具有任意用户权限的攻击者都可以在默认配置下通过修改环境变量来利用此漏洞,从而获得受影响主机的root 权限。

Polkit预装在CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等多个Linux发行版上,所有存在Polkit的Linux系统均受影响。

以下为安全版本

注意:版本号必须完全一致,否则还是存在漏洞。最好的办法是通过代码验证,验证代码库地址: https://github.com/berdav/CVE-2021-4034

切换到源代码目录,编译,运行,输入命令whami可以看到当前用户已经变成了root。

事实证明确实存在此漏洞!

以下命令在Rocky Linux 8.5上验证,可以修复CVE-2021-4034漏洞

命令的含义

yum clean all :清除所有的缓存信息,包括packages、metadata、headers,这个命令相当于执行了下面三条命令

yum makecache : 生成缓存

此时再执行验证代码,可以发现已经无法提升权限。

注意 :在某些CentOS 8版本中,执行 yum update polkit -y 之后,polkit的版本号显示为:polkit-libs-0.115-12.el8.x86_64,经过验证,此版本仍然存在漏洞。此时只能通过下面的临时缓解措施解决。

CentOS 8 *** 作系统可能确实无法通过 yum update polkit -y 的方法修复漏洞,这是因为C entOS 8已经于2021年12月31日停止更新并停止维护(EOL)。

那么只能通过临时缓解措施解决了。

缓解之前的

缓解之后的

变化在于文件/usr/bin/pkexec的权限由之前的4755变成了0755

本次测试环境在阿贝云免费云服务器(https://www.abeiyun.com/)上进行,阿贝云目前正在进行"免费虚拟主机"和“免费云服务器”体验活动,感兴趣的可以试试。

首先我们先确定我们的系统中是否安装samba,使用SSH登录系统后执行命令:chkconfig --list,如图

如图1就说明该系统没有安装samba,图2是已经安装samba的示例

如果已经安装samba,我们就进行修复,但必须先确定你是否正常连接外网,我们先ping一下百度,确保外网连接,如图

然后执行命令:yum -y install samba;

全自动安装升级samba

如果没有出现Error并且出现Complete就说明已经安装好了更新,如图

如果您暂时无法升级Samba的版本,我们可以通过修改smb.conf的方法,缓解该漏洞的效果;

执行命令:vi /etc/samba/smb.conf

在[global]节点我们按i进入编辑状态,在[global]节点下添加nt pipe support = no 选项,如图;最后按Esc退出编辑,Shift+:,输入wq保存

最后一步,重启Samba服务,执行命令:service smb restart

由于最近Bash爆发了一个严重的漏洞,故此影响了市面上几乎所有的Linux系统。处于安全的角度考虑客户要求为每一个受影响的主机都进行漏洞修补。由于公司使用的是红帽系统故此安全也同样受到影响。

(题外话:红帽的补丁需要收费才能下载,作为穷人我表示无奈,问了一下公司也表示没有购买红帽的服务,红帽的服务一般是按着CPU颗数算的,好像是两颗为一组,一组服务(红帽的人管服务叫订阅)5×8服务价格为799美元,7×24的价格为1299美元。)

有漏洞的服务器执行以下命令会有"vulnerable"和"this is a test"的信息提示,如图:

如果没有漏洞或者漏洞已修补则只提示"this is a test"。

由于公司没有购买红帽服务故此从第三方渠道获得了补丁。(花了我好多积分,肉疼)

设计到的服务器有两种,一种是Red Hat Enterprise Linux Server release 5系统是32为的,系统上的bash为bash-3.2-24.el5。

拿到的补丁文件有bash-3.2-33.el5_11.4.i386.rpm这个文件是适合我这个版本使用。

上传到服务器上,开始安装。

顺利安装完成,再次执行测试语句得知漏洞已修补。

另一种为Red Hat Enterprise Linux Server release 6也是32位的,bash的版本为bash-4.1.2-8.el6.i686。这台比较麻烦得到的补丁包为bash-4.1.2-15.el6_5.2.src.rpm。一般来讲这种src的包都是为编译的,需要编译之后生成正常的rpm来进行安装。突然脑子抽筋了直接进行了安装,结果就报错了,如图:

后来想起来未编译的src的包需要进行编译然后才能生成正常的rpm包。

把src的包上传到服务器上,然后如下命令进行编译:

rpmbuild --rebuildbash-4.1.2-15.el6_5.2.src.rpm编译之后看提示在/root/rpmbuild/RPMS/i686/目录下生成了若干个包。

进入/root/rpmbuild/RPMS/i686/在下面找到bash-4.1.2-15.el6.2.i686.rpm这个包进行安装,再次测试漏洞已修复完成,如图:

剩下的就是还剩了几台红帽6的服务器,拿着这个编译好的包,到各个服务器上安装即可。到此为止宣布修复完成。

有需要红帽5和6补丁包的朋友我在这里提供了下载地址,32和64位的都在这里,上传Linux公社1号FTP服务器中了,请需要的朋友可以下载并参考以上步骤安装即可。

------------------------------------------分割线------------------------------------------

FTP地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

www.jy18.cn

在 2014年LinuxIDC.com\10月\Bash漏洞最新补丁安装教程【附下载】

下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm

------------------------------------------分割线------------------------------------------

Gitlab-shell 受 Bash CVE-2014-6271 漏洞影响 http://www.linuxidc.com/Linux/2014-09/107181.htm

Linux再曝安全漏洞Bash 比心脏出血还严重 http://www.linuxidc.com/Linux/2014-09/107176.htm

解决办法是升级 Bash,请参考这篇文章。http://www.linuxidc.com/Linux/2014-09/107182.htm

Linux Bash安全漏洞修复 http://www.linuxidc.com/Linux/2014-10/107609.htm

更多RedHat相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-10/107851.htm


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7504251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存