壹 漏洞概念
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.04
(sudo 1.8.31
)、Debian 10
(sudo 1.8.27
)和Fedora 33
(sudo 1.9.2
),并且sudo
支持的其他操作系统和Linux
发行版也很容易受到攻击。
叁 适用版本
# 查看版本
sudo --version
范围为在以下版本,可能存在漏洞:
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
陆 利用Poc|Exp以及工具
EXP地址:传送门
CVE-2021-3156-main.tar
无交互式shell
的EXP:传送门
CVE-2021-3156-plus-main.zip
柒 危害
提权为root
权限!
捌 修复建议
更新sudo至最新版本!