sudo本地提权缝隙(CVE-2021-3156)

颁布功夫 2021-01-27

0x00 缝隙概述

CVE  ID

CVE-2021-3156

时   间

2021-01-27

类   型

权限提升

等   级

高危

远程利用

影响领域


 

0x01 缝隙详情

image.png

 

Sudo是一个职能壮大的工具,其允许通常用户执行root权限号令,大无数基于Unix和Linux的操作系统都蕴含sudo。 。。

2021年01月26日,sudo被披露存在一个基于堆的缓冲区溢出缝隙(CVE-2021-3156,该缝隙被定名为“Baron Samedit”),可导致本地权限提升。 。。

当在类Unix的操作系统上执行号令时,非root用户能够使用sudo号令来以root用户身份执行号令。 。。由于sudo谬误地在参数中转义了反斜杠导致堆缓冲区溢出,从而允许任何本地用户(无论是否在sudoers文件中)获得root权限,无需进行身份验证,且攻击者不必要知晓用户密码。 。。

安全钻研人员于1月26日公开披露了此缝隙,并暗示该缝隙已经暗藏了近十年。 。。

 

影响领域

Sudo 1.8.2 - 1.8.31p2

Sudo 1.9.0 - 1.9.5p1

 

测试系统是否易受此缝隙影响::

1.   以非root用户身份登录系统。 。。

2.   运行号令“sudoedit -s /”

3.   若是出现以“ sudoedit::”开头的谬误响应,则系统受到此缝隙影响;若是出现以“ usage::”开头的谬误响应,则暗示该缝隙已被补丁修复。 。。

 

 

0x02 措置建议

建议实时升级sudo至最新版本。 。。

下载链接::

https://www.sudo.ws/dist/

 

一时措施(RedHat)

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&

这将输出systemtap剧本的PID编号,该剧本将导致易受攻击的sudoedit二进制文件终场工作,sudo号令仍将照常工作。 。。

把稳,上述更改会在重启后失效,必须在每次重启后重新利用。 。。

 

4.一旦装置了补丁法式,就能够通过终止systemtap过程来删除systemtap剧本。 。。例如,通过使用以下号令,其中7590是systemtap过程的PID。 。。

#kill -s SIGTERM 7590

 

 

0x03 参考链接

https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit

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

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3156

https://www.bleepingcomputer.com/news/security/new-linux-sudo-flaw-lets-local-users-gain-root-privileges/

 

0x04 功夫线

2021-01-26  Qualys披露缝隙

2021-01-27  RedHat颁布安全布告

2021-01-27  VSRC颁布安全公告

 

0x05 附录

 

CVSS评分尺度官网::http://www.first.org/cvss/

image.png