V8引擎Sentinel Value泄露繞過HardenProtect的安全風險

Chrome V8引擎中Sentinel Value泄露導致的安全風險

Sentinel value是算法中的特殊值,常用於循環或遞歸算法的終止條件。Chrome源碼中存在多個Sentinel value,其中一些對象不應泄露到JavaScript環境中。本文將探討利用Uninitialized Oddball對象泄露來繞過Chrome V8引擎的HardenProtect機制。

V8中的Sentinel Value

V8的大部分原生對象定義在v8/src/roots/roots.h文件中,這些對象在內存中相鄰排列。一旦這些不應暴露給JavaScript的原生對象被泄露,就可能導致沙箱內任意代碼執行。

我們可以通過修改V8的native函數,將Uninitialized Oddball泄露到JavaScript中。例如修改%TheHole()函數的偏移量,使其返回Uninitialized Oddball對象。

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

繞過HardenType保護

利用泄露的Uninitialized Oddball對象,可以構造以下代碼實現相對任意讀:

javascript function read(obj, idx) { return obj[idx]; }

let arr = [1.1, 2.2, 3.3]; let uninitialized_oddball = %TheHole();

for (let i = 0; i < 100000; i++) { read(arr, 0);
}

%OptimizeFunctionOnNextCall(read);

let result = read(uninitialized_oddball, 0x12345); %DebugPrint(result);

優化後的read函數匯編代碼顯示,在計算數組偏移時沒有檢查obj.prop的值類型,直接按JavaScript語義計算,從而導致類型混淆,實現任意讀。

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

修復建議是在優化後的函數返回數組元素時,添加對數組map的檢查,避免直接計算偏移返回數值。

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

PatchGap風險提示

該漏洞目前在一些使用舊版V8引擎的軟件(如Skype)中仍未修復。在x86平台下,由於沒有地址壓縮,任意讀寫可直接相對於整個進程進行。

這種新的繞過方法的公開,降低了利用相關漏洞的難度。黑客幾乎不需要額外研究就可以完成對泄露Uninitialized Oddball漏洞的完整利用。

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

總結

V8中還存在其他Sentinel value,可能導致類似安全問題。建議進一步研究:

  1. 其他Uninitialized Oddball泄露是否也可實現V8的RCE
  2. 是否應將此類問題正式列爲安全漏洞
  3. Fuzzer測試中是否需要將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

SENC-0.28%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
GateUser-bd883c58vip
· 08-04 04:05
这漏洞,硬核到有点慌
回復0
SerumDegenvip
· 08-02 17:19
gm 朋友... 另一个 alpha 漏洞在 v8 中被发现,我们都 rekt
查看原文回復0
ThatsNotARugPullvip
· 08-02 17:19
这锅Chrome背着吧 人家都把洞挖给你看了
回復0
RektButStillHerevip
· 08-02 17:09
沙盒保护咋这么菜啊
回復0
CryptoNomicsvip
· 08-02 17:01
*唉* 又一个漏洞证明我对Chrome安全模型的回归分析在统计上是显著的……但没有人听。
查看原文回復0
Metaverse Hobovip
· 08-02 16:58
这漏洞也太哈人了吧 直接起飞
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)