LOADING

正在加载

CVE-2021-3156:Linux本地提权sudo

壹 漏洞概念

2021年1月26日,Linux安全工具sudo被发现严重的基于堆缓冲区溢出漏洞。利用这一漏洞,攻击者无需知道用户密码,一样可以获得root权限,并且是在默认配置下。此漏洞已分配为CVE-2021-3156,危险等级评分为7分。

贰 漏洞原理及利用条件

sudo通过-s-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s-i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。因此只要存在sudoers文件(通常是/etc/sudoers),攻击者就可以使用本地普通用户利用sudo获得系统root权限。研究人员利用该漏洞在多个Linux发行版上成功获得了完整的root权限,包括Ubuntu 20.04sudo 1.8.31)、Debian 10sudo 1.8.27)和Fedora 33sudo 1.9.2),并且sudo支持的其他操作系统和Linux发行版也很容易受到攻击。

叁 适用版本

# 查看版本
sudo --version

79e686011f8a72f532692ae4960592ca.png
范围为在以下版本,可能存在漏洞:

sudo 1.8.2 - 1.8.31p2
sudo 1.9.0 - 1.9.5p1

或者执行:

sudoedit -s /
# 以sudoedit:开头报错则存在此漏洞则存在漏洞
root@kali:~# sudoedit -s /
sudoedit: /:不是常规文件  #sudoedit: /: not a regular file
# 以usage:开头的报错,那么表明补丁已经生效
usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file

肆 复现环境说明

复现环境:kali-linux-2020.1-amd64

伍 复现

# 查看版本
sudo --version
# 增加执行权限
chmod +x sudo-hax-me-a-sandwich
# 需要根据不同的版本执行不同的exp
./sudo-hax-me-a-sandwich 1

1e4defc71b64b8ed55f7a81b10aa2bd2.png

陆 利用Poc|Exp以及工具

EXP地址:传送门
CVE-2021-3156-main.tar

无交互式shell的EXP:传送门
CVE-2021-3156-plus-main.zip

柒 危害

提权为root权限!

捌 修复建议

更新sudo至最新版本!

玖 参考

avatar
小C&天天

修学储能 先博后渊


今日诗句