Google Chrome V8< 13.7.120 沙箱绕过漏洞
【严重】Google Chrome V8< 13.7.120 沙箱绕过漏洞
漏洞描述
V8 是 Google 开发的一款开源高性能 JavaScript 和 WebAssembly 引擎,广泛用于 Chrome 浏览器和 Node.js 等项目中。
受影响版本中,JsonParser::MakeString 函数在处理长度为 1 的转义字符串时存在二次获取问题。函数先检查是否含转义符,再调用 DecodeString 解码。若此期间字符串被篡改,DecodeString 会基于过时检查结果解码并写入仅 2 字节的栈缓冲区,导致栈溢出漏洞。
修复版本通过重构 JsonParser::DecodeString,引入长度计数器,并在每个转义序列处理后更新剩余长度。关键修复是在解码前添加 SBXCHECK_GE(length, 2) 校验,确保缓冲区足够,防止溢出。
MPS编号 | MPS-id8s-k96g |
---|---|
CVE编号 | - |
处置建议 | 建议修复 |
发现时间 | 2025-07-28 |
利用成本 | 中 |
利用可能性 | 高 |
是否有POC | 是 |
影响范围
影响组件 | 受影响的版本 | 最小修复版本 |
---|---|---|
chrome | (-∞, 137.0.7137.0) | 137.0.7137.0 |
v8 | (-∞, 13.7.120) | 13.7.120 |
chromium | (-∞, 137.0.7137.0) | 137.0.7137.0 |
参考链接
https://www.oscs1024.com/hd/MPS-id8s-k96g
https://issues.chromium.org/issues/396446145
https://github.com/v8/v8/commit/281cd945b242b2c32aef0b2c79dbe84e9d098f0c
排查方式
手动排查
检查V8版本:执行node -p process.versions.v8
或v8 -v
,确认是否<13.7.120。
检查Chrome版本:访问chrome://version
,查看版本是否<137.0.7137.0。
检查Chromium版本:查看版本信息,确认是否<137.0.7137.0。
一键自动排查全公司此类风险
墨菲安全为您免费提供一键排查全公司开源组件漏洞&投毒风险服务,可一键接入扫描全公司的代码仓库、容器镜像仓库、主机、制品仓库等。
试用地址:https://www.murphysec.com/adv?code=TJ8O
提交漏洞情报:https://www.murphysec.com/bounty
处置方式
应急缓解方案
- 启用Chrome浏览器内置的站点隔离功能,路径:chrome://flags/#site-isolation-trial-enabled,设置为Enabled并重启浏览器
- 配置内容安全策略(CSP),限制不可信来源的JavaScript执行
- 暂时禁用对不受信任网站的JavaScript支持,路径:设置 > 隐私和安全 > 网站设置 > JavaScript > 不允许任何网站运行JavaScript
- 启用Chrome安全浏览功能,路径:设置 > 隐私和安全 > 安全 > 开启"增强型保护"模式
- 对关键业务系统,限制仅允许访问可信域名列表
根本修复方案
- 将Google Chrome浏览器升级至137.0.7137.0或更高版本,通过官方渠道获取更新:chrome://settings/help
- 将Chromium浏览器升级至137.0.7137.0或更高版本,通过官方源码仓库编译更新
- 将V8引擎独立部署环境升级至13.7.120或更高版本,通过官方仓库获取更新:https://github.com/v8/v8
- 对基于Electron、Node.js等使用V8引擎的应用程序,升级至包含修复版本V8引擎的应用版本
- 配置自动更新机制,确保所有终端设备能及时获取安全更新
- 升级完成后,验证版本号:chrome://version 确认各项组件版本达标