安全研究
安全漏洞
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(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |