其他
微软拒绝修复Edge浏览器中的内容安全策略绕过问题
▌作者:Richard Chirgwin
▌翻译:360代码卫士团队
思科Talos安全研究员NicolaiGrødum发现一个跨站脚本bug影响老旧版本的Chrome和Safari浏览器以及当前的Edge版本。但微软坚称它是一个功能而非bug并拒绝修复。
Grødum在一篇题为《漏洞聚焦:绕过微软Edge、谷歌Chrome和苹果Safari浏览器中的内容安全策略》文章中指出,如果用户使用的是Chrome57.0.2987.98或之后版本,那么就不受CVE-2017-5033的影响;同样,使用iOS 10.3及10.1之后版本的Safari,那么就不受CVE-2017-2419的影响。然而,Talos团队指出,“微软指出这是由设计决定的,因此拒绝修复该问题”。
这个bug/功能在于,浏览器错误地处理了about:blank,因此能让攻击者:
* 设置内容安全策略,允许内联脚本代码(即”unsafe-inline”指令);
* 使用window.open()打开一个新的空白窗口;并
* 调用document.write将代码写入空白窗口对象,从而绕过内容安全策略的限制。
一旦遭利用,这个bug就能让攻击者使用JavaScript跟其它站点通信,且会成功实施,因为about:blank跟加载文档同源,但却不受内容安全策略的限制。
正如Talos解释得那样,内容安全策略规范清楚地指出“限制应该被继承”——适用于原始页面的任何限制都应该适用于从这个页面打开的所有页面。
本文由360代码卫士编译,不代表360观点,转载请注明“转自360代码卫士www.codesafe.cn”。