首页 -> 安全研究

安全研究

安全漏洞
FCheck 本地命令执行漏洞

发布日期:2001-03-28
更新日期:2001-03-28

受影响系统:

Michael A. Gumienny FCheck 2.7.59以前版本
不受影响系统:

Michael A. Gumienny FCheck 2.7.59
描述:

Fcheck 是一个基于perl语言的文件完整性检查工具,它使用一些外部程序(例如MD5)
来针对数据文件进行完整性校验。

然而由于不安全地执行了一个open()调用,攻击者可以在Fcheck所检查的目录下创建
包含shell元字符和命令的文件,这样当Fcheck在检查此目录时就可能执行攻击者设定
的命令。

有问题的代码部分:

     open(IN, "$program_name '$filename' |");
     $filesig = <IN>;
     close IN;


<*来源:btrq (btrq@bob-n.com) *>


测试方法:

警 告

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


btrq (btrq@bob-n.com)提供了下列测试代码:

在Echeck所检查的目录下创建一个恶意文件,例如:
echo "test" >exploit\'\;\`touch\ blah\`\'

当fcheck在检查此目录时, blah文件将被创建,当然也可以用其他命令替换这里的
touch操作。


建议:

临时解决方案:
厂商已经不再支持2.7.59以前版本,所以正在使用这些版本的用户请尽快升级到
2.7.59版,或者采用下列临时办法。

修改有问题的代码部分如下:

if (open(IN, "-|"))
{
$filesig =<IN>;
close IN;
}
else
{
exec $program_name, $filename;
}

厂商补丁:

您可以在下列地址下载最新版本:
http://www.geocities.com/fcheck2000/FCheck_2.07.59.tar.gz


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