ClamAV存在多个安全漏洞

漏洞起因
设计错误
危险等级

 
影响系统
Clam AntiVirus (clamav) 0.x
  
 
不受影响系统
 
危害
远程攻击者可以利用漏洞使应用程序崩溃。
 
攻击所需条件
攻击者必须构建恶意文件,诱使ClamAV处理。
 
漏洞信息
ClamAV是一款基于unix下的反病毒应用程序。
ClamAV存在多个安全漏洞,允许本地攻击者进行拒绝服务和任意代码执行攻击。
-处理PDF文件存在多个错误,可导致应用程序崩溃(CVE-2010-4260),其中包括find_stream_bounds()函数越界读写,find_length()空指针引用,cli_pdf()返回不正确值。
-"icon_cb()"函数存在单字节溢出错误,可触发内存破坏(CVE-2010-4261):
libclamav/pe_icons.c中的"icon_cb()"函数如下:
01 struct ICONS {
02     unsigned int cnt;
03     uint32_t rvas[100];
04 };
05 
06 static int icon_cb(void *ptr, uint32_t type, uint32_t name, uint32_t lang, uint32_t rva) {
07     struct ICONS *icons = ptr;
08     type = type; lang = lang;
09     cli_dbgmsg("icon_cb: got icon %x\n", name);
10     if(icons->cnt > 100)
11         return 1;
12     icons->rvas[icons->cnt] = rva;
13     icons->cnt++;
14     return 0;
15 }
在更新‘rvas[]‘数组和图标计数器递增之前有检查,会检查当前计算器的值是否大于100,是‘rvas[]‘数组可以保留的数值。但是,没有对值等于100进行检查,这意味着恶意用户可提供特制的图标写‘uint32_t’整数,超越缓冲区边界。
 
测试方法
 
厂商解决方案
Clam AntiVirus 0.96.5已经修复此漏洞,建议用户下载使用:
http://www.clamav.net/
 
漏洞提供者
Arkadiusz Miskiewicsz and vendor

发表评论?

0 条评论。

发表评论