发布时间:2021-01-28 14:37:02,来源:北京天融信网络安全技术有限公司、深信服科技股份有限公司
1月26日,Sudo发布了Sudo堆缓冲区溢出漏洞的风险公告,漏洞CVE编号:CVE-2021-3156。该漏洞的发现者将其名为“Baron Samedit”。未经身份验证的本地攻击者可利用该漏洞获得root权限。目前漏洞细节已公开,建议受影响用户及时升级至最新版本,并做好资产自查以及预防工作,以免遭受黑客攻击。
二、 漏洞等级
高危
三、 漏洞描述
Sudo是Linux及其他类unix系统下的常用指令,用于允许普通用户执行部分root命令的工具。
该漏洞是由于Sudo命令行解析代码中存在逻辑错误,Sudo错误地转义了参数中反斜杠,从而导致缓冲区溢出。只要存在Sudoers文件(通常是 /etc/sudoers),本地普通用户即可利用Sudo获得系统root权限。
四、 影响范围
Sudo 1.8.2 - 1.8.31p2
Sudo 1.9.0 - 1.9.5p1
五、 安全建议
建议受影响用户及时安装Sudo 1.9.5p2版本修复该漏洞。
下载地址:https://www.sudo.ws/stable.html#1.9.5p2
若用户暂时无法进行升级操作,可安装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)
六、 参考链接
https://www.sudo.ws/alerts/unescape_overflow.html
https://access.redhat.com/security/vulnerabilities/RHSB-2021-002