CVE-2021-3156 Sudo提权

漏洞简述

​ 国外研究团队发现sudo堆溢出漏洞(CVE-2021-3156),漏洞隐藏十年之久,普通用户可以通过利用此漏洞,在默认配置的 sudo 主机上获取root权限。

​ 成功利用此漏洞,任何没有特权的用户都可以在易受攻击的主机上获得root特权。研究人员已经在Ubuntu 20.04(Sudo 1.8.31),Debian 10(Sudo 1.8.27)和Fedora 33(Sudo 1.9.2)上独立验证漏洞并开发多种利用漏洞并获得完整的root用户特权,其他操作系统和发行版也可能会被利用。

​ 当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或 -i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。只要存在sudoers文件(通常是 /etc/sudoers),攻击者就可以使用本地普通用户利用sudo获得系统root权限。

影响版本

Sudo 1.8.2 - 1.8.31p2

Sudo 1.9.0 - 1.9.5p1

不受影响版本

Sudo =>1.9.5p2

漏洞复现

EXP链接:

1
https://github.com/blasty/CVE-2021-3156

下载:

1
git clone https://github.91chifun.workers.dev//https://github.com/blasty/CVE-2021-3156.git

查看sudo版本:

1
sudo -V

image-20210201160120069

查看系统版本

1
cat /proc/version

image-20210201160217139

编译并运行

1
2
make
./sudo-hax-me-a-sandwich 0

image-20210201155609621

遇到报错,重装make、gcc、make-guile再次尝试

1
2
3
sudo apt install make      
sudo apt install make-guile
sudo apt install gcc

漏洞修复

目前官方已在sudo新版本1.9.5p2中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:

https://www.sudo.ws/download.html

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://blog.csdn.net/qq_37602797/article/details/113462965

https://mp.weixin.qq.com/s?__biz=MzI5ODk3OTM1Ng==&mid=2247497490&idx=1&sn=795f23bebb262494992caca23f16667b&chksm=ec9f2e61dbe8a77759b6e0bbf1e5dbd19a74a109320a19d5e0c30001a648c912b7f22b80eb86&mpshare=1&scene=22&srcid=0127Yxu8sNQNzhRrSybRUKCA&sharer_sharetime=1611733978267&sharer_shareid=770f98851b638bfa83ce3efb882b4f25#rd

作者

B0urne

发布于

2021-02-01

更新于

2021-02-23

许可协议