导语:安全研究人员Linus Henze日前公布了WebKit漏洞的利用代码,影响最新的苹果Safari浏览器。
安全研究人员Linus Henze日前公布了WebKit漏洞的利用代码,影响最新的苹果Safari浏览器。
WebKit是Apple Safari浏览器的web浏览器引擎,也是其他macOS、iOS和Linux系统中应用的浏览器引擎。
漏洞利用利用了WebKit正则表达式匹配中的优化错误,来实现执行任意shellcode的目的。
最新Safari受影响
Linus Henze称该漏洞已经在WebKit资源中修复了,但补丁只在iOS 12.1.1版本上有效,也就是说iOS 12.0之前的版本都受该漏洞的影响。同时,macOS 10.14.0之后版本也受到影响。而且补丁还没有分发到Safari浏览器。而且漏洞利用的步骤与Samuel Groß创建的CVE-2018-4233漏洞利用类似。
CERT/CC中的漏洞分析人员Will Dormann刚开始尝试Henze的漏洞利用代码竟然失败了,没有复现该bug。之后与作者联系后,成功复现了该漏洞。因为Safari的沙箱保护机制可以防止代码在浏览器外执行,因此没有经验的攻击者可能无法找到该漏洞的利用价值。因此,Henze的POC只是利用沙箱逃逸漏洞的一部分。
潜在利用价值
PoC可以在Apple浏览器中执行shellcode,而且使攻击者可以做Safari允许的所有行为。其中一个场景就是绕过浏览器的同源策略(same-origin policy, SOP),同源策略是浏览器用来限制不同域名的资源进行交互的。
如果攻击者的代码在Safari的限制下运行,shellcode并不一定需要遵守那些Safari才允许访问的敏感信息的规则。理论上,利用Henze的PoC代码是可以绕过Safari的SOP保护机制并访问任意的加载页面的信息的。
研究人员通过设置新的RAX值来证明shellcode的价值,而且Safari没有拦截。Shellcode可以让Safari做任何Safari可以做的行为。
该漏洞除了影响Safari外,还影响依赖JavaScriptCore作为JavaScript引擎的应用。因为Chrome是依赖V8引擎的,因此不受该漏洞影响。应用开发者应该选择使用最新的WebKit版本。