最新消息:图 床

Edge InlineArrayPush Remote Code Execution

COOL IAM 85浏览 0评论

作者:Qixun Zhao(aka @S0rryMybad && 大寶) of Qihoo 360 Vulcan Team
作者博客:https://blogs.projectmoon.pw/2018/08/17/Edge-InlineArrayPush-Remote-Code-Execution/

前言

回顧之前Edge出現的漏洞,在root cause屬於回調的問題當中(不一定有用到回調的root cause就是回調的問題),雖然出現的漏洞有很多個,但是無非可以分為三種情況:

第一種,GlobOpt階段的bailoutKind沒有加入或者處理不當,對應的一個例子: CVE-2017-11837

第二種,Lower階段新加入的指令沒有update GolbOpt階段的bailoutkind,對應的一個例子: CVE-2017-8601

最後一種是進行回調的時候沒有update implicitCallFlags,導致GlobOpt和Lower階段的工作全部白費:CVE-2017-11895

前段時間一直在學習與研究一些新的方向iOS的越獄(以後有機會也會寫一系列關於越獄的文章),沒有怎麼關注JIT的代碼.mosec之後回來看一看JIT相關的代碼,發現漏洞可能沒以前好找了,但是也不是沒有.在最近我報告了一系列的Edge 漏洞給微軟,在此後的一段時間我將會陸續分享這一系列的關於JIT的與以往不太一樣的漏洞, 這些漏洞品相都是相當好, 並且最後能RCE的.

作為我一系列Edge JIT 漏洞的第一篇,這次我選擇的是原理最簡單的一個洞作為分享(屬於單個opcode的問題),當然也因為漏洞修補的時間剛好.在前幾天的微軟補丁中,修復了我兩個Edge的漏洞,其中這篇就是CVE-2018-8372,另外一個並沒有assign CVE,但是在代碼中已經修復,在以後的文章中會提到.

這一系列的文章需要讀者對js或者瀏覽器漏洞有一定的研究基礎,因為我們只會關注於JIT本身,而不會過多關注js和瀏覽器的一些基礎概念.

转载请注明:IAMCOOL » Edge InlineArrayPush Remote Code Execution

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x