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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-85046 — # CVE-2026-85046 的概念验证与技术分析 针对 CVE-2026-85046 的概念验证与技术分析,该漏洞为内联 `Array.prototype.sort` 中的 V8 类型混淆,涵盖根本原因、补丁差异以及针对 Chrome < 152.0.7977.82 的利用链。 | Kitploit
工具/GitHubGitHub/atiilla/cve-2026-85046
漏洞分析漏洞利用Web应用程序漏洞利用二进制分析论文与研究学习与教育
GitHubatiilla/cve-2026-85046

CVE-2026-85046

# CVE-2026-85046 的概念验证与技术分析 针对 CVE-2026-85046 的概念验证与技术分析,该漏洞为内联 `Array.prototype.sort` 中的 V8 类型混淆,涵盖根本原因、补丁差异以及针对 Chrome < 152.0.7977.82 的利用链。

查看仓库
7小时45分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

CVE-2026-85046

V8 内联 Array.prototype.sort 中的类型混淆(Maglev + Turbofan)。2026 年 Chrome 第 6 个零日漏洞。

字段值
CVSS8.8(高危)
CWECWE-843(类型混淆)
组件V8 JavaScript 引擎 -- Maglev/Turbofan 内联排序
受影响版本Chrome < 152.0.7977.82,所有基于 Chromium 的浏览器
修复版本Chrome 152.0.7977.82(2026-09-03)
修复提交e0562d87ad9c17042b581582c99237d798572e67
CISA KEV2026-09-04 添加,截止日期 2026-09-18
野外利用是(Google 已确认)
报告者Salvatore Gulizia (Serotav)

根本原因

内联排序优化接受多态元素种类反馈(PACKED_SMI_ELEMENTS + PACKED_ELEMENTS)。当比较器调用 arr.fill(0) 时,V8 将接收者映射从 PACKED_ELEMENTS 向后迁移到 PACKED_SMI_ELEMENTS。排序后的映射检查通过,因为 PACKED_SMI_ELEMENTS 在原始反馈集中。回写操作将对象指针写入一个映射声称仅包含 SMI 元素的数组。

该修复添加了一个前置条件,要求反馈中的所有接收者映射在内联排序之前共享相同的 elements_kind。

文件

快速开始

最小触发器(d8)

root@kitploit:~
# 使用 V8 调试辅助工具
d8 --allow-natives-syntax poc-minimal.js

# 不使用(通过 String() 进行启发式验证)
d8 poc-minimal.js

完整 PoC(浏览器)

在 Chrome < 152.0.7977.82 中打开 poc.html。该漏洞利用会自动运行,并将每个阶段记录到页面和开发者控制台。阶段:

  1. 使用多态元素种类反馈进行 JIT 训练(2000 次迭代)
  2. 通过排序比较器中的 arr.fill(0) 触发类型混淆
  3. addrof 原语 -- 将压缩堆指针作为整数泄露
  4. 堆喷射以实现 double/object 数组后备存储重叠
  5. 通过重叠实现 fakeobj -- 从受控整数伪造对象引用
  6. 信息泄露 -- 转储 WebAssembly 实例、window、document 的地址

利用链摘要

root@kitploit:~
训练(2000 次迭代)
  |
  v
类型混淆:PACKED_ELEMENTS 映射 -> PACKED_SMI_ELEMENTS 映射
                (后备存储仍持有对象指针)
  |
  v
addrof:String(confused_array) 将指针作为整数泄露
  |
  v
fakeobj:double/object 数组重叠写入受控指针
  |
  v
伪造具有受控元素指针的 JSArray -> 任意读/写(笼内)
  |
  v
V8 沙箱内的代码执行(完整 RCE 需要沙箱逃逸)

关键技术细节

  • 数组长度必须 <= 16(kMaxInlineSortLength)
  • 需要约 1000-2000 次迭代才能触发 Maglev/Turbofan 优化
  • 比较器必须使用 SMI 值调用 arr.fill() 以实现向后映射迁移
  • 训练期间必须同时传入 PACKED_SMI 和 PACKED_ELEMENTS 数组
  • addrof 泄露 32 位压缩指针(笼相对,而非完整 64 位虚拟地址)
  • V8 堆沙箱将利用限制为笼内读/写,除非存在第二个漏洞

参考

  • Chromium 漏洞:crbug/542403045(受限)
  • 修复提交:e0562d87
  • 引入提交:66a3f1e9
  • Serotav 文章:https://serotav.github.io/Writeups/v8/when-sorting-leads-to-confusion/
  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-85046
下载工具
文件描述
patch-analysis.md完整补丁差异分析,包括根本原因、触发机制和利用原语评估
patch-analysis.json结构化数据:提交哈希、CWE、受影响版本、利用原语
v8-research.mdV8 元素种类深入分析、先前艺术 PoC(CVE-2020-6418、CVE-2025-2135、CVE-2024-4947 等)、沙箱架构、逃逸技术
poc-minimal.js用于 d8 的最小类型混淆触发器(d8 --allow-natives-syntax poc-minimal.js)
poc.html完整利用链:类型混淆、addrof 原语、堆喷射、通过后备存储重叠实现 fakeobj、信息泄露
exploit-notes.md技术文档:逐步利用链、堆布局图、指针压缩、沙箱影响、检测指标、修复措施