安全研究

安全漏洞
HP-UX man 设计漏洞

发布日期:2000-06-07
更新日期:2000-06-08

受影响系统:

    HP HP-UX 11.0
    HP HP-UX 10.20
描述:
各种版本的HPUX的man命令的设计者犯了几个致命的错误,允许攻击者轻松设置一个
陷阱,当root执行man命令的时候,会导致系统中任意文件被覆盖。

1) man 在全局可写目录下创建的临时文件名可以预测。一般这两个临时文件名为
   catXXXX 和 manXXXX ,这里 XXXX 是当前man进程号,很容易预测得到。

2) man 盲目地使用了符号链接,未做检查

3) man 精确地以 666 模式打开临时文件,忽略 umask 设置。虽然man不会修改文件
   属性成 666 ,但是它允许攻击者编辑临时文件,这样就有可能插入一些恶意的数
   据(最近在Bugtraq讨论过恶意的man手册页)。

4) man 打开临时文件时指定了 O_TRUNC 属性。意味着当man处理一个符号链接时,
   真实对应的文件被盲目地截断。这很容易导致拒绝服务攻击。即使不考虑安全问
   题,也会影响正常的man操作,如果一个用户处在man进程运行状态中,当进程号
   回绕后,特权用户运行man时就会覆盖普通用户的临时文件。

<* 来源:Jason Axley jason.axley@attws.com *>


测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


在/tmp下建立65535个 catXXXX 或者 manXXXX 符号链接,指向任意你想覆盖的文件,
比如/etc/passwd。等一会,当root运行man的时候,/etc/passwd将被格式化过的man
手册页内容(catXXXX)或者未格式化手册页内容(manXXXX)覆盖。

建议:

    确保/tmp目录设置了粘滞位,以root身份在其下创建catXXXX和manXXXX文件,于
    是攻击者无法创建恶意符号链接。

浏览次数:6089
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障