腾讯云服务器速冻提权漏洞、rpm数据库损坏

本文介绍了如何修复 CentOS 服务器上的 Sudo 本地提权漏洞 (CVE-2021-3156),包括处理 yum 更新时遇到的 rpm 数据库损坏问题,通过重建 rpm 数据库并清理 yum 缓存最终成功更新 Sudo 的过程。

目录

Sudo 本地提权漏洞(CVE-2021-3156)

1、更新漏洞:

2、重新构建步骤:

3、再次更新漏洞:


最近买的腾讯云服务器,提示系统组件漏洞待解决

Sudo 本地提权漏洞(CVE-2021-3156)

1、更新漏洞:

yum update sudo
报错了:
[root@VM-0-11-centos ~]# yum update sudo
error: rpmdb: BDB0113 Thread/process 27871/140170839349312 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

问题:强制结束了yum,导致rpm数据库损坏,需要重新构建

2、重新构建步骤:

步骤1:进入rpm目录
[root@VM-0-11-centos ~]# cd /var/lib/rpm/
[root@VM-0-11-centos rpm]# ls
Basenames  Conflictname  __db.001  __db.002  __db.003  Dirnames  Group  Installtid  Name  Obsoletename  Packages  Providename  Requirename  Sha1header  Sigmd5  Triggername

步骤2:删除损坏文件
[root@VM-0-11-centos rpm]# for i in `ls | grep 'db.'`;do mv $i $i.bak;done
[root@VM-0-11-centos rpm]# ls
Basenames  Conflictname  __db.001.bak  __db.002.bak  __db.003.bak  Dirnames  Group  Installtid  Name  Obsoletename  Packages  Providename  Requirename  Sha1header  Sigmd5  Triggername

步骤3:重新build
[root@VM-0-11-centos rpm]# rpm --rebuilddb

步骤4:清楚yum缓存
[root@VM-0-11-centos rpm]# yum clean all
Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Cleaning repos: docker-ce-stable elrepo epel extras kubernetes os updates
Cleaning up list of fastest mirrors
Other repos take up 9.6 M of disk space (use --verbose for details)

3、再次更新漏洞:

成功!!!

[root@VM-0-11-centos rpm]# yum update sudo
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo: mirrors.tuna.tsinghua.edu.cn
docker-ce-stable                                                                                                                                                                                                     | 3.5 kB  00:00:00     
elrepo                                                                                                                                                                                                               | 3.0 kB  00:00:00     
epel                                                                                                                                                                                                                 | 4.7 kB  00:00:00     
extras                                                                                                                                                                                                               | 2.9 kB  00:00:00     
kubernetes                                                                                                                                                                                                           | 1.4 kB  00:00:00     
os                                                                                                                                                                                                                   | 3.6 kB  00:00:00     
updates                                                                                                                                                                                                              | 2.9 kB  00:00:00     
docker-ce-stable/x86_64/primar FAILED                                          
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/repodata/ea7a69768bb34e3669908d94dc2c3dd2ecb41ccaab69cbbfe67e4b5c5d2bec0c-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found    ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
To address this issue please refer to the below wiki article 

https://wiki.centos.org/yum-errors

If above article doesn't help to resolve this issue please use https://bugs.centos.org/.

docker-ce-stable/x86_64/primar FAILED                                          
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/repodata/ea7a69768bb34e3669908d94dc2c3dd2ecb41ccaab69cbbfe67e4b5c5d2bec0c-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found    ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/repodata/ea7a69768bb34e3669908d94dc2c3dd2ecb41ccaab69cbbfe67e4b5c5d2bec0c-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
kubernetes                                                                                                                                                                                                                          633/633
Resolving Dependencies
--> Running transaction check
---> Package sudo.x86_64 0:1.8.23-4.el7_7.2 will be updated
---> Package sudo.x86_64 0:1.8.23-10.el7_9.1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================================================================
 Package                                             Arch                                                  Version                                                             Repository                                              Size
============================================================================================================================================================================================================================================
Updating:
 sudo                                                x86_64                                                1.8.23-10.el7_9.1                                                   updates                                                843 k

Transaction Summary
============================================================================================================================================================================================================================================
Upgrade  1 Package

Total download size: 843 k
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
sudo-1.8.23-10.el7_9.1.x86_64.rpm                                                                                                                                                                                    | 843 kB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : sudo-1.8.23-10.el7_9.1.x86_64                                                                                                                                                                                            1/2 
  Cleanup    : sudo-1.8.23-4.el7_7.2.x86_64                                                                                                                                                                                             2/2 
  Verifying  : sudo-1.8.23-10.el7_9.1.x86_64                                                                                                                                                                                            1/2 
  Verifying  : sudo-1.8.23-4.el7_7.2.x86_64                                                                                                                                                                                             2/2 

Updated:
  sudo.x86_64 0:1.8.23-10.el7_9.1                                                                                                                                                                                                           

Complete!

 

 

9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615),在某些场景下,攻击者将分别能通过这两个漏洞,获取用户服务器上 JSP 文件的源代码,或是通过精心构造的攻击请求,向用户服务器上传恶意 JSP 文件,通过上传的 JSP 文件 ,可在用户服务器上执行任意代码。      云鼎实验室通过对于漏洞描述,搭建漏洞环境,并对其进行复现。此漏洞为高危漏洞,即使是非默认配置,但是一旦存在漏洞,那么攻击者可以成功上传 webshell,并控制服务器。 复现 根据描述,在 Windows 服务器下,将 readonly 参数设置为 false 时,即可通过 PUT 方式创建一个 JSP 文件,并可以执行任意代码。    通过阅读 conf/web.xml 文件,可以发现:   默认 readonly 为 true,当 readonly 设置为 false 时,可以通过 PUT / DELETE 进行文件操控。   配置 readonly 为 false: 启动 Tomcat,利用 PUT 请求创建文件: 示 404。通过描述中的 Windows 受影响,可以结合 Windows 的特性。其一是 NTFS 文件流,其二是文件名的相关限制(如 Windows 中文件名不能以空格结尾)来绕过限制:  访问发现可以正常输出:  分析 Tomcat 的 Servlet 是在 conf/web.xml 配置的,通过配置文件可知,当后缀名为 .jsp 和 .jspx 的时候,是通过JspServlet处理请求的:   可以得知,“1.jsp ”(末尾有一个和空格)并不能匹配到 JspServlet,而是会交由DefaultServlet去处理。当处理 PUT 请求时: 会调用resources.rebind: dirContext 为FileDirContext: 调用 rebind创建文件: 又由于 Windows 不允许“ ”作为文件名结尾,所以会创建一个 .jsp 文件,导致代码执行。 Bypass 分析 然而,经过黑盒测试,当 PUT 地址为/1.jsp/时,仍然会创建 JSP,会影响 Linux 和 Windows 服务器,并且 Bypass 了之前的补丁,分析如下。  在进入 bind 函数时,会声明一个 File 变量: 进入 File 后,会对 name 进行 normalize 最后得到的 path 就是没有最后 / 的 path 了: 影响  由于存在去掉最后的 / 的特性,那么这个漏洞自然影响 Linux 以及 Windows 版本。而且经过测试,这个漏洞影响全部的 Tomcat 版本,从 5.x 到 9.x 无不中枪。目前来说,最好的解决方式是将 conf/web.xml 中对于 DefaultServlet 的 readonly 设置为 true,才能防止漏洞
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值