这个Bug是 Andris Atteka 最先发现,在其博客中他解释说只需要在URL中增加一个null字符就可以轻松使得Chrome崩溃。在其博客中所举的例子有26字符长,而我们对其进行了一些精简,最后只需16个字符就可以让Chrome崩溃。
接下来,你可以在Chrome45(最新的稳定版本)以及早前的版本中的浏览器地址栏输入以下字符:
http://a/%%30%30
(注意鼠标在周围移动就可触发,崩溃之后刷新页面即可恢复)
http://a/%%30%30
你的浏览器标签页或者整个浏览器会崩溃
亲测,鼠标触发后页面崩溃:
Atteka目前已经向Google报告了这个Bug( Chromium issue ):
然而由于Google认为这个Bug本身并非安全问题,所以Atteka没有获得任何奖励,但是可以很容易的看出这个Bug对用户的影响比较大。
在链接上悬停鼠标,点击链接都可以导致你的Chrome选项卡崩溃,甚至连同其他选项卡:
在我们的测试中,Chrome for Windows 以及 Chrome for Mac都受到影响。有趣的是,我在Android版本上无法重现这个Bug。不管我在哪来插入null字符,都无法重现这个Bug。
据 安全牛 报道,问题是这样产生的:
· URL尾端的%%300被转换成%00(0x30是ASCII码的0),这样就在网址末尾插入了一个空字节; · 这行URL被传递给GURLToDatabaseURL()函数,该函数调用ReplaceComponents()函数; · 上述行为引起URL被重复处理,并进行至空字节。浏览器认为这个空字节不应该出现,于是标记该URL为无效; · 代码路径又返回到The code path returns to GURLToDatabaseURL() 函数,但该函数认为这个URL应该是有效的,然后调用spec()函数; · 但该URL实际上是无效的,于是DCHECK()函数引起软件 bail out; · 当鼠标指针停留在URL的上面时,这个被认为无效的网址被发送到浏览器认为是有效地址的处理部分,最终标签页发生崩溃。
《千万别点:13个字符立即崩溃你的Mac版Chrome》
《AwSnap:让全版本(Windows、iOS、Android)Chrome浏览器崩溃的有趣漏洞》
* 参考来源: venturebeat 、 Atteka 、 安全牛 ,FB小编鸢尾编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)