V8引擎Sentinel Value泄露漏洞:Chrome沙箱繞過分析

robot
摘要生成中

揭祕Chrome V8沙箱繞過:利用Sentinel Value實現任意代碼執行

Sentinel value是算法中用作終止條件的特殊值,在Chrome源碼中廣泛存在。此前已有研究表明,通過泄露TheHole對象可實現Chrome沙箱內任意代碼執行。本文將討論另一個未修復的繞過方法 - 泄露Uninitialized Oddball對象。

該方法最早出現在Project 0成員提交的Issue1352549中,目前仍可用於最新版V8。值得注意的是,類似的原生對象泄露問題此前多次出現在重要漏洞中,如CVE-2021-30551和CVE-2022-1486等。這表明該類問題具有普遍性,可能影響多個使用V8引擎的軟件。

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

V8中的大部分原生對象定義在v8/src/roots/roots.h文件中,它們在內存中依次排列。一旦這些不應泄露到JavaScript中的對象被泄露,就可能導致沙箱逃逸。我們可以通過修改V8的native函數來驗證該方法,例如修改%TheHole()函數返回Uninitialized Oddball。

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

利用該方法可以繞過HardenType保護,實現相對任意的內存讀寫。具體實現上,優化後的JavaScript代碼會跳過對數組元素類型的檢查,直接計算偏移量訪問內存。這一問題在x86和x64架構下略有不同,但都可能被利用。

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

該漏洞目前尚未在某些使用V8引擎的軟件(如Skype)中得到修復,存在潛在的安全風險。黑客可能利用這一PatchGap實現完整的漏洞利用鏈。

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

除Uninitialized Oddball外,V8中還存在其他Sentinel value,它們同樣可能導致類似的安全問題。這提示我們需要重新審視Sentinel value泄露的安全影響,並考慮在模糊測試中加入相關變量。無論這類問題是否被正式視爲安全漏洞,它們都可能大大縮短攻擊者實現完整利用的時間。

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

獨家揭祕通過泄露Sentinel Value繞過Chrome v8 HardenProtect

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 5
  • 分享
留言
0/400
LiquidityHuntervip
· 1小時前
又发现一个漏洞套利点,记录下来了
回復0
bridge_anxietyvip
· 13小時前
啧啧 这洞确实危险
回復0
BlockTalkvip
· 13小時前
又出漏洞了,Chrome真不行
回復0
多签失败大师vip
· 13小時前
v8这不凉透了??
回復0
NonFungibleDegenvip
· 13小時前
ngmi chrome... 现在真是糟糕透了
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)