Clam Anti-Virus ClamAV MS-Expand文件解析拒绝…

2008-04-09 04:16:46来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Clam Anti-Virus ClamAV MS-Expand文件解析拒绝服务漏洞

发布日期:2005-06-30
更新日期:2005-06-30

受影响系统:
ClamAV ClamAV < 0.86
不受影响系统:
ClamAV ClamAV 0.86
描述:
BUGTRAQ ID: 14090
CVE(CAN) ID: CVE-2005-1922

Clam AntiVirus是Unix的GPL杀毒工具包,很多邮件网关产品都在使用。

Clam AntiVirus ClamAV中存在输入验证错误,允许攻击者导致拒绝服务。

漏洞起因是处理异常情况的方式。成功利用这个漏洞的攻击者可以耗尽文件描述符池和内存。如果没有文件描述符的话病毒检测功能就会失效。

<*来源:iDEFENSE

链接:http://www.idefense.com/application/poi/display?id=276&type=vulnerabilities
*>

测试方法:

警 告

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

static int cli_scanszdd(...)
{
[...]
FILE *tmp = NULL, *in;

cli_dbgmsg("in cli_scanmscomp()\n");

if((in = fdopen(dup(desc), "rb")) == NULL) {
cli_dbgmsg("SZDD: Can't open descriptor %d\n", desc);
return CL_EMSCOMP;
}

if((tmp = tmpfile()) == NULL) {
cli_dbgmsg("SZDD: Can't generate temporary file.\n");
fclose(in);
return CL_ETMPFILE;
}

if(cli_msexpand(in, tmp) == -1) {
cli_dbgmsg("SZDD: msexpand failed.\n");
return CL_EMSCOMP;
}

[...]
}

每次cli_msexpand()函数失效时都会泄漏2个文件描述符('in'和'tmp')。因为这些描述符都是由fopen()打开的,因此还会导致内存泄漏(2 * 364字节)。这样攻击者就可以使用大约1000个畸形文件很快就耗尽所有可用的文件描述符。

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 通过--no-archive flag禁止扫描文档文件,但这可能降低杀毒引擎的性能。

厂商补丁:

ClamAV
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载0.86版本:

http://prdownloads.sourceforge.net/clamav/clamav-0.86.1.tar.gz?download

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Sun Solaris运行时连接器LD_AUDIT权限提升漏洞

下一篇:XML-RPC for PHP远程代码注入漏洞