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
· 14小时前
ngmi chrome... 现在真是糟糕透了
查看原文回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)