首页 -> 安全研究

安全研究

安全漏洞
Microsoft IE压缩内容URL堆溢出漏洞(MS06-042)

发布日期:2006-09-13
更新日期:2006-09-13

受影响系统:
Microsoft Internet Explorer 6.0 SP1
Microsoft Internet Explorer 5.0.1 SP4
Microsoft Internet Explorer 6.0
    - Microsoft Windows Server 2003
描述:
BUGTRAQ  ID: 19987
CVE(CAN) ID: CVE-2006-3873

Internet Explorer是微软发布的非常流行的WEB浏览器。

IE新发布的补丁中出现了一个处理URL的堆溢出漏洞,远程攻击者可能利用此漏洞在用户机器上执行任意指令。

由于没有正确的使用lstrcpynA,带有MS06-042补丁的URLMON.DLL中存在堆溢出漏洞。CMimeFt::Create为CMimeFt类的新例程分配了390h字节的堆块,其中的+160h偏移处存在104h (MAX_PATH)字节的ASCII字符缓冲区:

1A4267F8 push 390h ; cb
1A4267FD call ??2@YAPAXI@Z ; operator new(uint)

如果访问URL能够导致HTTP重新定向(300到303状态),且之后访问“Location”字段返回GZIP或deflate编码的参数数据,CMimeFt::ReportProgress就会试图使用lstrcpynA API函数将URL拷贝到104h字节的字符串缓冲区,但最多传递了824h(10进制为2084)的长度参数,这是URL通常可使用的最大长度:

1A425D41 push 824h ; iMaxLength
1A425D46 push eax ; lpString2
1A425D47 add esi, 15Ch
1A425D4C push esi ; lpString1
1A425D4D call ds:lstrcpynA

这样攻击者就可以使用恶意URL中的数据覆盖CMimeFt类例程及相邻堆块中的内容。

<*来源:Derek Soeder (dsoeder@eeye.com
  
  链接:http://www.microsoft.com/technet/security/bulletin/ms06-042.mspx
        http://research.eeye.com/html/advisories/published/AD20060912.html
        http://www.us-cert.gov/cas/techalerts/TA06-220A.html
*>

建议:
临时解决方法:

* 在Internet Explorer中禁用HTTP 1.1协议。

厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS06-042)以及相应补丁:
MS06-042:Cumulative Security Update for Internet Explorer (918899)
链接:http://www.microsoft.com/technet/security/bulletin/ms06-042.mspx

浏览次数:3025
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障