Linux操作系统平台出现影响范围广泛的高危漏洞CVE-2021-3156(Sudo堆缓冲区溢出漏洞)

2021年1月26日,我国网络安全企业安天公司的安全研究团队监测发现国外多家主流的Linux发行厂商在同一时间发布了关于Linux操作系统Sudo堆缓冲区溢出漏洞的安全公告及相关修补方案,漏洞编号为CVE-2021-3156,漏洞等级:高危,漏洞评分:7.0。通过利用该漏洞,普通权限的用户可以在默认配置的Linux主机上通过构造特定参数来执行Sudo命令而获取root权限。 Sudo是一款功能强大的Linux命令行实用程序,绝大多数基于Unix和Linux的操作系统都包含Sudo程序,Sudo程序为用户提供了需要特殊权限才能执行的系统命令的权限接口,它不仅减少了root用户的登录和管理时间,同样也提高了安全性。2021年1月26日,通用漏洞披露平台CVE以及Ubuntu官方网站同时发布安全公告,描述了一个基于堆的缓冲区溢出高危漏洞CVE-2021-3156。安全公告中表示,当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或-i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。因此只要存在sudoers文件(通常是/etc/sudoers),攻击者就可以使用本地普通用户利用sudo获得系统root权限。 CVE-2021-3156漏洞的威胁范围很广,能够影响1.8.2-1.8.31p2以及1.9.0-1.9.5p1版本的Sudo程序。研究人员利用该漏洞在多个Linux发行版上成功获得了完整的root权限,包括Ubuntu 20.04(sudo 1.8.31)、Debian 10(sudo 1.8.27)和Fedora 33(sudo 1.9.2),并且sudo支持的其他操作系统和Linux发行版也很容易受到攻击。目前,Linux发行厂商和Sudo官方均已发布安全补丁,修复了该漏洞。正在使用上述受影响Sudo版本的用户可以在官方渠道下载1.9.5p2版本更新补丁:https://www.sudo.ws/download.html,并通过以下方法进行自查,进一步判断补丁是否生效:以非root用户的身份登录操作系统,并运行“sudoedit -s /”命令,如果响应一个以sudoedit:开头的报错,表明漏洞依然存在,如果响应一个以usage:开头的报错,表明补丁已经生效。 软件升级。