Linux sudo本地提权漏洞
漏洞介绍
Qualys研究小组在sudo中发现了堆溢出漏洞,这是一个几乎无处不在的实用工具,可以在主要的类Unix操作系统上使用。任何非特权用户都可以利用此漏洞在易受攻击的主机上使用默认sudo配置获得根权限。
当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
漏洞复现
以普通用户非root,运行“sudoedit s /”
出现“sudo:/:不是常规文件 ”,或“not a regular”的错误,说明存在漏洞。
PoC利用
Poc
cd CVE-2021-3156/
sudo make
./sudo-hax-me-a-sandwich 0
提权成功为root
漏洞防御
下载官方的升级包,防御漏洞,因为在1.9.5p2版本中已经修复了此漏洞。
https://www.sudo.ws/download.html
参考学习
https://www.venustech.com.cn/new_type/aqtg/20210127/22339.html
http://blog.nsfocus.net/cve-2021-3156/
https://www.freebuf.com/vuls/262534.html
https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit