关于sudo堆溢出漏洞(CVE-2021-3156)的安全通告
一、情况概述
1月26日,Sudo发布安全通告,修复了一个类Unix操作系统在命令参数中转义反斜杠时存在基于堆的缓冲区溢出漏洞。当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或 -i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。只要存在sudoers文件(通常是 /etc/sudoers),攻击者就可以使用本地普通用户利用sudo获得系统root权限。
二、漏洞危害
国外研究团队发现sudo堆溢出漏洞(CVE-2021-3156),漏洞隐藏十年之久,普通用户可以通过利用此漏洞,在默认配置的sudo主机上获取root权限。漏洞细节已在互联网上公开,安全专家提醒linux系统管理员尽快修复。
Sudo是一个功能强大的实用程序,大多数(如果不是全部)基于Unix和Linux的操作系统都包含Sudo。
如成功利用此漏洞,任何没有特权的用户都可以在易受攻击的主机上获得root特权。研究人员已经在Ubuntu 20.04(Sudo 1.8.31),Debian 10(Sudo 1.8.27)和Fedora 33(Sudo 1.9.2)上独立验证漏洞并开发多种利用漏洞并获得完整的root用户特权,其他操作系统和发行版也可能会被利用。
三、影响范围
受影响版本
Sudo 1.8.2 -1.8.31p2
Sudo 1.9.0 -1.9.5p1。
安全版本
Sudo=>1.9.5p2。
检测方法:
以非root账户登录系统运行如下命令:sudoedit -s /
受影响的系统启动程序会提示以下开头的错误作为响应:sudoedit:
安装补丁后启动会提示以下开头的错误作为响应:usage:
四、修复建议
建议受影响的用户升级至最新版本,请在升级前做好数据备份工作,避免出现意外。目前官方已在sudo新版本1.9.5p2中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:https://www.sudo.ws/download.html
Redhat等linux发行版已紧急发布修复补丁,建议用户尽快升级:
CentOS系统用户:
1)CentOS 6:默认 sudo 在受影响范围,CentOS官方已停止更新;
2)CentOS 7:升级到 sudo-1.8.23-10.el7_9.1 或更高版本;
3)CentOS 8:升级到 sudo-1.8.29-6.el8_3.1或更高版本。
Ubuntu系统用户:
1)Ubuntu 20.04 LTS版本用户,建议升级到如下版本:
sudo- 1.8.31-1ubuntu1.2
sudo-ldap- 1.8.31-1ubuntu1.2
2)Ubuntu 18.04 LTS版本用户,建议升级到如下版本:
sudo- 1.8.21p2-3ubuntu1.4
sudo-ldap- 1.8.21p2-3ubuntu1.4
3)Ubuntu 16.04 LTS版本用户,建议升级到如下版本:
sudo- 1.8.16-0ubuntu1.10
sudo-ldap- 1.8.16-0ubuntu1.10
附:参考链接:
https://s.tencent.com/research/bsafe/1238.html