发布日期:2010-04-14
更新日期:2010-04-19
受影响系统:
Todd Miller Sudo 1.6.8 - 1.7.2 p5
不受影响系统:
Todd Miller Sudo 1.7.2 p6
Todd Miller Sudo 1.6.9 p22
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 39468
CVE ID: CVE-2010-1163
Sudo是一款允许用户以其他用户权限安全的执行命令的程序,广泛使用在Linux和Unix操作系统下。
当sudo执行命令匹配时,存在sudoers文件中存在伪命令的特殊情况(目前唯一的伪命令是sudoedit)。与正常命令不同,伪命令中不包含有路径组件。Sudo的命令匹配例程认为实际命令中应包含有一个或多个“/”字符,而sudo的路径解析代码没有向当前工作目录中所找到的命令添加“./”前缀,这就在cwd中所发现的sudoedit命令与sudoers文件中的sudoedit伪命令之间造成了歧义,导致用户可以在当前工作目录中运行任意名为sudoedit的命令。
如果要成功执行攻击,PATH环境变量必须包含有“.”且不应包含任何存在sudoedit命令的目录;此外还要禁用了ignore_dot或secure_path选项。
建议:
--------------------------------------------------------------------------------
临时解决方法:
* 启用ignore_dot sudoers选项。
厂商补丁:
Todd Miller
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
Ubuntu
------
Ubuntu已经为此发布了一个安全公告(USN-928-1)以及相应补丁:
USN-928-1:Sudo vulnerability
链接:http://www.ubuntu.com/usn/USN-928-1