ClamAV libclamav库PeSpin堆溢出漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

BUGTRAQ ID: 28784 CVE(CAN) ID: CVE-2008-0314 Clam AntiVirus是Unix的GPL杀毒工具包,很多邮件网关产品都在使用。 ClamAV中负责解压用PeSpin加密所包装的PE库的代码存在堆溢出漏洞,攻击者可能通过诱使用户处理畸形文件控制用户系统。 以下为libclamav/spin.c中的有漏洞代码段: 417 key32 = cli_readint32(ep+0x2fee); ... 427 cli_dbgmsg("spin: Resources (sect%d) appear to be compressed\n\tuncompressed offset %x, len %x\n\tcompressed offset %x, len %x\n", j, sections[j].rva, key32 - sections[j].rva, key32, sections[j].vsz - (key32 - sections[j].rva)); 428 429 if ( (curr=(char *)cli_malloc(sections[j].vsz)) != NULL ) { 430 memcpy(curr, src + sections[j].raw, key32 - sections[j].rva); /* Uncompressed part */ 431 memset(curr + key32 - sections[j].rva, 0, sections[j].vsz - (key32 - sections[j].rva)); /* bzero */ 在417行从文件中读取了32位的值到key32变量中,然后使用429行的sections[j].vsz值分配堆缓冲区,在430行memcpy调用将数据拷贝到了新分配的缓冲区。由于没有对key32、sections[j].raw和sections[j].rva值执行验证便在内存拷贝操作中使用,因此可能导致堆溢出。 ClamAV 0.92.1 临时解决方法: * 禁止扫描PE文件: 如果在使用clamscan的话,以--no-pe选项运行clamscan。...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息