ubuntu 20.4.2
Sudo version 1.9.5p1 源码下载地址 https://github.com/sudo-project/sudo
1.9.0 <= Sudo <= 1.9.5 p1 所有稳定版(默认配置)
1.8.2 <= Sudo <= 1.8.31 p2 所有老版本
最新的系统,如Ubuntu 20.04 (Sudo 1.8.31), Debian 10 (Sudo 1.8.27), Fedora 33 (Sudo 1.9.2) 都受到影响。
sudo的一个堆溢出漏洞,可以用来进行本地提权
由于sudo错误的转义了\导致了一个堆溢出漏洞。
当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或 -i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。
利用 sudoedit -s /
来测试是否存在漏洞如果存在漏洞 会出现报错
sudoedit: /: not a regular file
但是我不知道为啥我用上面的 sudoedit -s /
这个命令要输入正确密码才能看到这个报错
所以还可以利用其它的方法测试 sudoedit -s '\\' perl -e 'print "A" x 65536'
这个指令也可以利用测试他对应的报错为