最新消息:图 床

Story1 Mom What Is Zero Multiplied By Infinity

COOL IAM 255浏览 0评论

作者: Qixun Zhao(@S0rryMybad) of Qihoo 360 Vulcan Team
博客:https://blogs.projectmoon.pw/2019/01/13/Story1-Mom-What-Is-Zero-Multiplied-By-Infinity/

今天我們文章介紹的是CVE-2018-8391,對應的patch commit. 這是一個關於Loop循環的越界讀寫漏洞,漏洞的成因十分有趣.我們都知道零乘以無限等於零,但是開發人員在寫代碼的時候忽略了這樣的一種特殊情況.

在這裡我除了介紹漏洞本身以外,還介紹了在引入了Spectre Mitigation之後的一種通用的Array OOB RW利用方法.關於這個漏洞,我們還有後續的Story2.

實驗環境: chakraCore-2018-8-15附近的commit

0x0 關於Loop的優化

在之前的文章中我們已經簡單介紹過關於Loop的優化,在編譯器的優化過程中,我們需要把很多在Loop中不需要變化的指令hoist到LandingPad中,不然每次循環會執行很多沒必要的指令.而在針對數組的邊界檢查中,有一種特殊的優化處理方法,這種優化是針對在循環inductionVariable並且用inductionVariable進行數組訪問的情況.inductionVariable就是循環中的自變量.舉個例子最直接:

转载请注明:IAMCOOL » Story1 Mom What Is Zero Multiplied By Infinity

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