Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/eddinos2/cve-2026-78938
漏洞分析漏洞利用Web安全二进制利用
GitHubeddinos2/cve-2026-78938

CVE-2026-78938

CVE-2026-78938 的根因分析与可用漏洞利用,该漏洞为 V8 TurboFan 类型混淆,可在压缩堆内实现任意读写。包含崩溃 PoC 及运行时寻址原语。

查看仓库
1天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-78938 — V8 TurboFan CheckMaps 实例迁移类型混淆

针对 CVE-2026-78938 的根因分析与漏洞利用,这是 V8 TurboFan 加载消除中的一个类型混淆漏洞,已在 Chrome 152.0.7977.64(V8 15.2.124.18)中修复。该漏洞被报告已在野外被利用。

该漏洞利用将缺陷转化为越界 Float64Array,进而实现 addrof / fakeobj 以及针对 V8 压缩堆的任意读写。初始写入之后的所有操作均在运行时定位——读写阶段没有硬编码的堆偏移。

  • 受影响版本:Chrome 152.0.7977.54(V8 15.2.124.13,提交 8ec91943)
  • 已修复版本:Chrome 152.0.7977.64/.65(V8 15.2.124.18,提交 6aacaf62)
  • 修复提交:50597b0bb48a — “[compiler] Invalidate tracked fields on CheckMaps with instance migration”

已在 macOS arm64 上针对本地构建的两个版本的 d8 进行测试。

内容

文件说明
pocs/crash.js最小化触发器。在易受攻击的构建上触发 SIGBUS,在已修补的构建上正常退出。
pocs/rw_final.js完整漏洞利用,阶段 1:触发器 + 越界数组。已冻结——参见下方“复现”。
pocs/logic_final.js完整漏洞利用,阶段 2:addrof/fakeobj/任意读写,由阶段 1 在运行时加载。
WRITEUP.md完整的根因分析与利用说明。

复现

构建两个 d8 版本(确切的提交和 GN 参数参见 WRITEUP.md),然后从仓库根目录执行:

root@kitploit:~
# 崩溃 PoC:在易受攻击版本上触发 SIGBUS,在已修补版本上正常退出
out/vuln/d8    --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/crash.js
out/patched/d8 --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/crash.js

# 完整读写:在易受攻击版本上有效,在已修补版本上干净退出
out/vuln/d8 --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/rw_final.js

在易受攻击的构建上的预期输出:

root@kitploit:~
[+] OOB Float64Array len=0x7f000004
[+] after write: victim2.z = 2.5
[+] fakeobj(hn|1) typeof=number
[+] ALL PRIMITIVES VERIFIED

有两件事需要注意:

  1. 这些标志是必需的。 --homomorphic-ic --max-valid-polymorphic-map-count=4 塑造多态映射反馈,以便在优化代码中走迁移路径。没有它们,触发器会静默地什么都不做。
  2. pocs/rw_final.js 是字节冻结的。 唯一的破坏性写入落在堆相对偏移处,该偏移取决于受害者数组的分配位置,而分配位置又取决于脚本的确切字节和路径。编辑该文件(或重命名它)会使烘焙的偏移失效;WRITEUP.md 记录了如何重新校准。pocs/logic_final.js 在触发器触发之后加载,因此可以自由编辑。

说明

  • 所演示的原语是 V8 沙箱内部(压缩堆)的任意读写。要获得代码执行还需要沙箱逃逸(例如破坏 Wasm 实例的 RWX 代码区域),这超出了本文档的范围。
  • 漏洞利用中的所有地址均在运行时发现。唯一烘焙的值是 pocs/rw_final.js 中的单个写入偏移,原因如上所述。

本仓库用于教育和防御性研究目的。该漏洞已在当前 Chrome 中修补;详细信息已在 V8 源码树中公开。

下载工具