ClamAV libclamav库PeSpin堆溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1187039 漏洞类型 缓冲区溢出
发布时间 2008-04-16 更新时间 2008-11-15
CVE编号 CVE-2008-0314 CNNVD-ID CNNVD-200804-231
漏洞平台 N/A CVSS评分 7.5
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200804-231
|漏洞详情
ClamAntiVirus是Unix的GPL杀毒工具包,很多邮件网关产品都在使用。ClamAV中负责解压用PeSpin加密所包装的PE库的代码存在堆溢出漏洞,攻击者可能通过诱使用户处理畸形文件控制用户系统。以下为libclamav/spin.c中的有漏洞代码段:417key32=cli_readint32(ep+0x2fee);...427cli_dbgmsg("spin:Resources(sect%d)appeartobecompressed\n\tuncompressedoffset%x,len%x\n\tcompressedoffset%x,len%x\n",j,sections[j].rva,key32-sections[j].rva,key32,sections[j].vsz-(key32-sections[j].rva));428429if((curr=(char*)cli_malloc(sections[j].vsz))!=NULL){430memcpy(curr,src+sections[j].raw,key32-sections[j].rva);/*Uncompressedpart*/431memset(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值执行验证便在内存拷贝操作中使用,因此可能导致堆溢出。
|参考资料

来源:US-CERT
名称:TA08-260A
链接:http://www.us-cert.gov/cas/techalerts/TA08-260A.html
来源:US-CERT
名称:VU#858595
链接:http://www.kb.cert.org/vuls/id/858595
来源:VUPEN
名称:ADV-2008-2584
链接:http://www.frsirt.com/english/advisories/2008/2584
来源:up2date.astaro.com
链接:http://up2date.astaro.com/2008/08/up2date_asg_v7300_ga_released.html
来源:GENTOO
名称:GLSA-200805-19
链接:http://security.gentoo.org/glsa/glsa-200805-19.xml
来源:SECUNIA
名称:31882
链接:http://secunia.com/advisories/31882
来源:SECUNIA
名称:31576
链接:http://secunia.com/advisories/31576
来源:APPLE
名称:APPLE-SA-2008-09-15
链接:http://lists.apple.com/archives/security-announce//2008/Sep/msg00005.html
来源:IDEFENSE
名称:20080414ClamAVlibclamavPeSpinHeapOverflowVulnerability
链接:http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=686
来源:wwws.clamav.net
链接:https://wwws.clamav.net/bugzilla/show_bug.cgi?id=876
来源:FEDORA
名称:FEDORA-2008-3900
链接:https://www.redhat.com/archives/fedora-package-announce/2008-May/msg00249.html
来源:FEDORA
名称:FEDORA-2008-3420
链接:https