0x01漏洞简述
2021年01月27日,360CERT监测发现RedHat
发布了sudo 缓冲区/栈溢出漏洞
的风险通告,该漏洞编号为CVE-2021-3156
,漏洞等级:高危
,漏洞评分:7.0
。
攻击者在取得服务器基础权限的情况下,可以利用sudo
基于堆的缓冲区溢出漏洞,获得root
权限。
目前debain已经修复该漏洞,centos依然受到影响
对此,360CERT建议广大用户及时将sudo
升级到最新版本。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
0x02风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 高危 |
影响面 | 广泛 |
360CERT评分 | 7.0 |
0x03漏洞详情
CVE-2021-3156: 缓冲区溢出漏洞
在sudo
解析命令行参数的方式中发现了基于堆的缓冲区溢出。任何本地用户(普通用户和系统用户,sudoer
和非sudoers
)都可以利用此漏洞,而无需进行身份验证,攻击者不需要知道用户的密码。成功利用此漏洞可以获得root
权限。
用户可以使用如下方法进行自查:
以非root用户登录系统,并使用命令sudoedit -s /
– 如果响应一个以sudoedit:
开头的报错,那么表明存在漏洞。
– 如果响应一个以usage:
开头的报错,那么表明补丁已经生效。
0x04影响版本
– sudo:sudo
: 1.8.2 – 1.8.31p2
– sudo:sudo
: 1.9.0 – 1.9.5p1
0x05修复建议
通用修补建议
下载升级sudo
软件包,下载链接为:
sudo软件包下载地址
临时修补建议
对于无法立即更新的用户,建议使用systemtap
进行以下临时缓解:
1. 安装所需的systemtap
软件包和依赖项:
systemtap yum-utils kernel-devel-"$(uname -r)"
对于RHEL 7
,使用命令安装 kernel debuginfo:debuginfo-install -y kernel-"$(uname -r)"
。对于RHEL 8
,使用命令安装 sudo debuginfo:debuginfo-install sudo
。
2. 创建以下systemtap
脚本(将文件命名为sudoedit-block.stap
):
probe process("/usr/bin/sudo").function("main") {
command = cmdline_args(0,0,"");
if (strpos(command, "edit") >= 0) {
raise(9);
}
}
3. 使用以下命令安装脚本:(使用root权限)
# nohup stap -g sudoedit-block.stap &
该脚本将使得易受攻击的sudoedit
二进制文件停止工作。sudo命令仍将照常工作。上述更改在重启后失效,必须在每次重启后重新应用。
4. 一旦安装了补丁程序,就可以通过取消systemtap
进程来删除systemtap
脚本。例如,通过使用:
# kill -s SIGTERM 7590 (其中7590是systemtap进程的PID)
0x06时间线
2021-01-27 RedHat官方发布通告
2021-01-27 360CERT发布通告
0x07参考链接
1、 RedHat官方通告
https://access.redhat.com/security/cve/CVE-2021-3156
2、 CVE-2021-3156: Heap-Based Buffer Overflow in Sudo (Baron Samedit)
来源:https://my.oschina.net/u/4600927/blog/4927558
rpm升级来修复
下载系统安装包
centos 5 https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el5.x86_64.rpm
centos 6 https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el6.x86_64.rpm
centos 7 https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el7.x86_64.rpm
ubuntu 16.04 https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo_1.9.5-3_ubu1604_amd64.deb
ubuntu 18.04 https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-ldap_1.9.5-3_ubu1804_amd64.deb
ubuntu 20.04 https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo_1.9.5-3_ubu2004_amd64.deb
其他看官网 https://www.sudo.ws/download.html
cd /root/src/packages/
wget -N –no-check-certificate https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el6.x86_64.rpm && top
ll sudo-1.9.5-3.el6.x86_64.rpm
rpm -Uvh sudo-1.9.5-3.el6.x86_64.rpm
sudo -V
Sudo version 1.9.5p2
漏洞验证-修复完成
sudoedit -s ” perl -e ‘print “A” x 65536’
usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-D
directory] [-g group] [-h host] [-p prompt]
[-R directory] [-T timeout] [-u user] file ..
No Responses (yet)
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.