Mozilla Firefox Range脚本对象拒绝服务漏洞

2006-11-01T00:00:00
ID SSV:356
Type seebug
Reporter Root
Modified 2006-11-01T00:00:00

Description

Firefox是一款开放源码的WEB浏览器。

Firefox的Range对象中存在空指针引用问题,成功利用这个漏洞的攻击者可以导致浏览器崩溃。

可以使用selectNode方式初始化Range对象选择将要注入Range中的节点,也可以使用createContextualFragment方式创建文档碎片,如下所示:

var tagString = "<div>I am a div node</div>"; var range = document.createRange(); range.selectNode(document.getElementsByTagName("div").item(0)); var documentFragment = range.createContextualFragment(tagString); document.body.appendChild(documentFragment);

可见使用createRange文档方式创建了一个范围,然后对当前文档中的一些元素使用了selectNode方式初始化范围。这时就可以使用createContextualFragment创建可注入到文档中的文档碎片。在向selectNode方式传送DOCUMENT_TYPE_NODE (<!DOCTYPE...)元素时Firefox没有正确的处理,导致在调用createContextualFragment方式时会触发空指针引用。

Mozilla Firefox <= 1.5.0.7 Mozilla Firefox 2.0 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.mozilla.org/

                                        
                                            
                                                --- snip ---

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function do_crash()
{