HP-UX man 设计漏洞发布时间:2000-05-14 更新时间:2000-05-14 严重程度:中 威胁程度:本地拒绝服务 错误类型:竞争条件 利用方式:服务器模式 受影响系统 HP HP-UX 11.0,10.20详细描述 各种版本的HPUX的man命令的存在漏洞,允许攻击者轻松设置一个陷阱,当root执行man命令的时候,会导致系统中任意文件被覆盖。 1)man在全局可写目录中创建可以预测的文件,文件名为catXXXX和manXXXX, 其中XXXX是man的进程号。 2)man盲目的使用了symlinks 3)man精确地以 666 模式打开临时文件,并忽略 umask 设置 ,虽然man不会修改文件属性成 666 ,但是它允许攻击者编辑临时文件,这样就有可能插入一些恶意的数据(在Bugtraq讨论过恶意的man手册页)。 4)man打开临时文件,并指定为O_TRUNC,这表示当man处理一个符号链接时,其文件会被盲目的截断,这可以导致对PASSWORD文件和磁盘设备产生拒绝服务的攻击。即使不考虑安全问题,也会影响正常的man操作,如果一个用户处在 man进程运行状态中,当进程号回绕后,特权用户运行man时就会覆盖普通用户的临时文件。 测试代码 在/tmp下建立65535个 catXXXX 或者 manXXXX 符号链接,指向你想覆盖的文件,比如/etc/passwd。当root运行man的时候,/etc/passwd将被格式化过的man 手册页内容(catXXXX)或者未格式化手册页内容(manXXXX)覆盖。 解决方案 确保/tmp目录设置了粘滞位,如chmod 1777 /tmp,以root身份在其下创建 catXXXX和manXXXX文件,于是攻击者无法创建恶意符号链接。 相关信息 |