在 1.9.12p2 之前的 Sudo 版本中,sudoedit(又名 -e)功能错误处理了用户提供的环境变量(SUDO_EDITOR、VISUAL 和 EDITOR)中传入的额外参数,从而允许本地攻击者将任意条目附加到待处理的文件列表中。这可能导致权限提升。受影响版本为 1.8.0 至 1.9.12.p1。问题存在的原因是用户指定的编辑器可能包含一个“--”参数,该参数会绕过保护机制,例如 EDITOR='nano -- /path/to/extra/file' 这样的值。
该脚本可自动利用 CVE-2023-22809 漏洞来获取 root shell。
脚本会检查当前用户是否有权以 root 权限对某个文件运行 sudoedit 或 sudo -e 命令。如果有,它会为攻击者打开 sudoers 文件,以便为当前用户引入权限提升策略并获得 root shell。
./exploit.sh

apt install nano sudo
⚠️ 在系统上运行此漏洞利用可以通过两种方式进行:使用 nano 编辑器和 vim 编辑器