【漏洞预警】Sudo 堆缓冲区溢出致本地提权漏洞(CVE-2021-3156)
2021-01-27 12:34:18 Author: xz.aliyun.com(查看原文) 阅读量:257 收藏

2021年1月27日,阿里云应急响应中心监控到国外安全研究人员披露了Sudo 堆缓冲区溢出致本地提权漏洞,漏洞编号为CVE-2021-3156。

漏洞描述

Sudo是一个功能强大的实用程序,大多数基于Unix和Linux的操作系统都包含Sudo。它允许用户使用其他用户的安全特权运行程序。2021年1月27日,阿里云应急响应中心监控到国外安全研究人员披露了Sudo 堆缓冲区溢出致本地提权漏洞,漏洞编号为 CVE-2021-3156。任何本地用户(包括普通用户和系统用户,sudoer和非sudoers)若成功利用该漏洞,可在无需密码的情况下获得root权限。阿里云应急响应中心提醒 sudo 用户尽快采取安全措施阻止漏洞攻击。

漏洞评分

CVE-2021-3156 高危

影响版本

Sudo 1.9.0 到 1.9.5p1 所有稳定版(默认配置)

Sudo 1.8.2 到 1.8.31p2 所有旧版本(默认配置)

安全版本

Sudo 1.9.5p2 或更新版本

安全建议

1. 下载升级sudo软件包,下载链接为: https://www.sudo.ws/dist/

2. 使用 systemtap 执行以下命令进行临时缓解:

首先,安装所需的 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

接着,创建以下 systemtap 脚本,并将文件命名为 sudoedit-block.stap:


probe process("/usr/bin/sudo").function("main") {
        command = cmdline_args(0,0,"");        
        if (strpos(command, "edit") >= 0) {                
                raise(9);        
        }
}



最终,使用root权限以下命令安装脚本:


# nohup stap -g sudoedit-block.stap &



该脚本将使得易受攻击的sudoedit二进制文件停止工作。 sudo命令仍将照常工作。上述更改在重启后失效,必须在每次重启后重新应用。

一旦安装了补丁程序,就可以通过取消systemtap进程来删除systemtap脚本。 例如,通过使用:


# kill -s SIGTERM 7590 (其中7590是systemtap进程的PID)



相关链接

1. https://www.qualys.com/2021/01/26/cve-2021-3156/baron-samedit-heap-based-overflow-sudo.txt

2. https://access.redhat.com/security/cve/CVE-2021-3156

我们会关注后续进展,请随时关注官方公告。

如有任何问题,可随时通过工单或服务电话95187联系反馈。

阿里云应急响应中心

2021.01.27

欢迎关注阿里云应急响应公众号


文章来源: http://xz.aliyun.com/t/9146
如有侵权请联系:admin#unsafe.sh