漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0102940
漏洞标题:WebKit 处理疏忽造成浏览器 crash
相关厂商:WebKit
漏洞作者: kamael
提交时间:2015-03-25 14:32
修复时间:2015-05-09 14:34
公开时间:2015-05-09 14:34
漏洞类型:拒绝服务
危害等级:低
自评Rank:5
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-25: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-05-09: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
WebKit 对 JS 代码处理疏忽导致可以设计恶意页面导致用户浏览器 crash。
该问题在所有使用 JavascriptCore(也就是WebKit原生配套JS引擎)的浏览器(比如 Safari)和库里都存在。
详细说明:
PoC:
WebKit在对事件和内嵌入代码进行绑定时,使用如下方式:
其中 code 为我们写入的代码。
代码里并没有检测闭合。
但是在代码即将被执行前,WebKit 会做一个检查,检查该代码是否是一个单一的函数,如果不是,则直接 crash 掉。
crash 代码在 http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/runtime/CodeCache.cpp#L156
156行。由于组合后不是单一函数,statement = 0x0,于是 crash。
漏洞证明:
以下代码插入页面中, 用 WebKit 内核浏览器访问即可。
修复方案:
这里返回空函数,或者在拼接之前进行 Parse 合法性检查就好了,直接页面崩溃不太好吧。。
版权声明:转载请注明来源 kamael@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝