中国站

Microsoft Agent Active控件远程堆溢出漏洞

CNNVD-ID编号 CNNVD-200611-207 CVE编号 CVE-2006-3445
发布时间 2006-11-14 更新时间 2007-08-08
漏洞类型 数字错误 漏洞来源 N/A
危险等级 高危 威胁类型 远程
厂商 microsoft

漏洞介绍

Microsoft Windows是美国微软(Microsoft)公司发布的一系列操作系统。

Microsoft的Agent Active控件在解析畸形的字符文件时存在整数溢出。在agentdpv.dll的ReadWideString函数中:

711a2cc4 mov eax,[ebp+0xc]

711a2cc7 cmp eax,ebx

711a2cc9 jz agentdpv!ReadWideStringW+0x6b (711a2d0e)

711a2ccb lea eax,[eax+eax+0x2]

711a2ccf push eax

711a2cd0 call agentdpv!operator new (711aaa6c)

在内存中解压时.acf格式会将字符串的长度附加到字符串上。如果要触发这个漏洞,攻击者需要在解压之前在字符串的长度字段中设置很大的值7FFFFFFF以创建畸形的.acf文件。当Microsoft Agent解析该.acf文件时,就会在解压文件后读取这个长度:

711a2cc4 mov eax,[ebp+0xc] ; length of string

在使用所提供的长度计算为宽字符串所分配的内存大小时可能会出现整数溢出,导致分配0字节:

711a2ccb lea eax,[eax+eax+0x2]

711a2ccf push eax

711a2cd0 call agentdpv!operator new (711aaa6c)

之后仍会从之前所分配的内存读取字符串并拷贝到缓冲区,导致堆溢出。

711a2ce8 push ebx

711a2ce9 add edx,edx

711a2ceb push edx

711a2cec push eax

711a2ced push edi

711a2cee call dword ptr [ecx+0xc]{ole32!CMemStm::Read (771e7a1f)}

攻击者可能通过构建特制网页来利用此漏洞,如果用户查看了该网页,则可能允许远程执行代码。

漏洞补丁

目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:

参考网址

受影响实体

信息来源

查询漏洞

    • 漏洞名称
    • CVE编号
    • CNNVD编号
  • 开始时间

  • 结束时间