本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。
小维
漏洞概述
Sudo是一个功能强大的工具,其允许普通用户执行root权限命令,大多数基于Unix和Linux的操作系统都包含sudo。
2021年01月26日,sudo被披露存在一个基于堆的缓冲区溢出漏洞(CVE-2021-3156,该漏洞被命名为“Baron Samedit”),可导致本地权限提升。
当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或 -i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。只要存在sudoers文件(通常是 /etc/sudoers),攻击者就可以使用本地普通用户利用sudo获得系统root权限。
安全研究人员于1月26日公开披露了此漏洞,并表示该漏洞已经隐藏了近十年。
受影响版本
1 | Sudo 1.8.2 - 1.8.31p2 |
检测方法
以非root用户登录系统,并运行sudoedit -s /
命令
响应一个以sudoedit:
开头的报错,那么表明存在漏洞。
响应一个以usage:
开头的报错,那么表明补丁已经生效。
漏洞利用
1 | git clone https://github.com/blasty/CVE-2021-3156.git |
kali Linux 测试
修复建议
官方已在sudo新版本1.9.5p2中修复了该漏洞,请受影响的用户尽快升级版本进行防护。
官方下载链接:https://www.sudo.ws/download.html
参考
https://www.sudo.ws/alerts/unescape_overflow.html