【安全通报】sudo 缓冲区/栈溢出高危漏洞通知
尊敬的景安用户:
经过我公司安全漏洞预警机制排查发现,RedHat官方于2021年1月27日发布sudo 缓冲区/栈溢出漏洞的风险通告,该漏洞编号为CVE-2021-3156,漏洞等级:高危,漏洞评分:7.0。特将漏洞详情通告如下:
一、漏洞详情
在sudo解析命令行参数的方式中发现了基于堆的缓冲区溢出。任何本地用户(普通用户和系统用户,sudoer和非sudoers)都可以利用此漏洞,而无需进行身份验证,攻击者不需要知道用户的密码。成功利用此漏洞可以获得root权限。目前debain已经修复该漏洞,centos依然受到影响。
用户可以使用如下方法进行自查:
以非root用户登录系统,并使用命令sudoedit -s /
- 如果响应一个以sudoedit:开头的报错,表明存在漏洞。
- 如果响应一个以usage:开头的报错,表明补丁已经生效。
二、影响版本
- sudo:sudo: 1.8.2 - 1.8.31p2
- sudo:sudo: 1.9.0 - 1.9.5p1
三、修复建议
1.通用修复建议
下载升级sudo软件包,官方下载链接为:https://www.sudo.ws/dist/
2.临时修补建议
对于无法立即更新的用户,建议使用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)
景安网络在此郑重提示您:及时进行sudo软件包检查、更新并确保补丁包生效,避免因未及时更新造成安全事件影响您网站及数据的安全性。
郑州市景安网络科技股份有限公司
2021年1月27日