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

SENC0.03%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 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)