安全研究

安全漏洞
Linux Man Page Source缓冲区溢出漏洞

发布日期:2001-06-12
更新日期:2001-06-22

受影响系统:

RedHat Linux 7.1
RedHat Linux 7.0
RedHat Linux 6.2
RedHat Linux 6.1
描述:

BUGTRAQ ID : 2872

man在处理系统手册页时,如果该手册页的第一行包含类似“.so something”的内容,
那么ultimate_source()函数就会去寻找由“something”所指定的文件。

如果那个文件是压缩的,那么my_popen()函数就会来读取这个文件,并且检查该文件中
的“.so”行。在特定情况下,这个文件的文件名的长度就会增加,而该函数没有检查
文件是否存在。

因此,通过构造一个特殊的文件名,攻击者就可能利用这个漏洞以man的权限执行任意
代码。

<*来源:zen-parse (zen-parse@gmx.net)
  参考:https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=42450
*>


测试方法:

警 告

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


zen-parse (zen-parse@gmx.net)提供了测试代码:

http://generic.labs.pulltheplug.com/zen/



建议:

暂时去掉man的sgid属性:
#chmod g-s `which man`

厂商补丁:

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.redhat.com/


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