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/
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/