lylzjnqe/CVE-2026-0908-Chrome-0-day-RCE

GitHub: lylzjnqe/CVE-2026-0908-Chrome-0-day-RCE

该项目披露了 Chrome ANGLE 组件中的一个高危释放后使用漏洞(CVE-2026-0908),提供了完整的漏洞分析与可复现的远程代码执行 PoC。

Stars: 2 | Forks: 0

# GlassBreak · CVE-2026-0908 ## Chrome ANGLE Use-After-Free — 0-day 披露与公开 CVE

0-day CVE CVSS CWE ANGLE Patch

0-day 窗口期:任何启用了 WebGL 且版本 < 144 的 Chrome · 今天:被追踪为 CVE-2026-0908

一个恶意标签页。一帧 WebGL。被释放的 GPU 内存——仍在绘图。

## 目录 - [0-day 与 CVE — 本文档涵盖的内容](#0-day-vs-cve--what-this-document-covers) - [0-day 生命周期时间线](#0-day-lifecycle-timeline) - [执行摘要](#executive-summary) - [一句话概述](#the-story-in-one-sentence) - [涉及对象](#who-is-involved) - [根本原因(为什么它是 0-day)](#root-cause-why-it-was-a-0-day) - [攻击步骤与影响](#step-by-step-attack--impact) - [影响阶梯](#impact-ladder) - [当今的 0-day 风险(未打补丁的安装)](#0-day-risk-today-unpatched-installs) - [缓解措施](#mitigation) - [参考](#references) ## 0-day 与 CVE — 本文档涵盖的内容 | 阶段 | 状态 | 含义 | |-------|--------|---------| | **2026-01-13 之前** | **0-day** | 无公开 CVE,无稳定版补丁;漏洞利用知识由发现者和 Chrome 安全团队掌握 | | **Chrome 144 稳定版** | **已发布补丁** | Google 在 **144.0.7559.59+** 版本中修复了 ANGLE 生命周期 bug | | **分配之后** | **CVE-2026-0908** | 公开 ID,NVD/OSV,MS-ISAC **2026-004**,企业扫描器 | | **2026 年 5 月及以后** | **已知漏洞** | 对于任何滞后的浏览器构建版本,这仍然是一个**严重的未打补丁风险** | ``` [ Research / fuzz ] → [ Private report ] → [ 0-day window ] → [ Patch 144 ] → [ CVE-2026-0908 ] ↑ ↑ attackers could defenders must hit unpatched users patch or accept RCE risk ``` **Chromium 内部严重性:**低 · **NVD CVSS 3.1:** **8.8 高危** — 防御者应将面向用户的影响视为**高危**,而不是“低危”。 ## 0-day 生命周期时间线 | 日期 (2026) | 事件 | 是否为 0-day? | |-------------|-------|--------| | **2025 年第四季度** | 通过 WebGL / ANGLE fuzzing 发现 GlassBreak(渲染器 + GPU 进程竞态条件) | 是 — 私有 | | **1 月初** | 在 embargo 下向 [Chrome 安全团队](https://bugs.chromium.org/p/chromium/issues/list)报告 | 是 | | **2026-01-13** | [MS-ISAC 2026-004](https://www.cisecurity.org/advisory/multiple-vulnerabilities-in-google-chrome-could-allow-for-arbitrary-code-execution_2026-004) — 公开补丁指南 | 对于已更新的用户,**0-day 结束** | | **2026-01-13** | 稳定版 **Chrome 144.0.7559.59 / .60** 发布 | 已修复 | | **发布后** | 分配 **CVE-2026-0908**;NVD/OSV 发布 | 公开 CVE | | **2026-02-11** | [PAN-SA-2026-0002](https://security.paloaltonetworks.com/PAN-SA-2026-0002) — Chromium 衍生产品 | 生态系统跟进修复 | | **持续中** | 使用 **Chrome 143 及以下版本**的企业/用户 | 在升级之前为**事实上的 0-day** | **建议发布时的野外利用情况:**CIS 报告**未发现已知的主动利用** — 但 0-day 窗口期仍然是高风险的,因为**补丁滞后 = 风险暴露**。 ## 执行摘要 | 字段 | 值 | |--------|--------| | **代号** | GlassBreak | | **公开 ID** | [CVE-2026-0908](https://nvd.nist.gov/vuln/detail/CVE-2026-0908) | | **类型** | Use-After-Free → 堆损坏 → **用户上下文中的 RCE** | | **组件** | **ANGLE** (Almost Native Graphics Layer Engine) | | **0-day 触发条件** | 精心构造的 **HTML + WebGL** — `canvas`、WebGL2、上下文丢失竞态条件 | | **攻击方式** | Drive-by ([T1189](https://attack.mitre.org/techniques/T1189/)) | | **用户交互** | 打开页面 / 渲染图形 (`UI:R`) | | **CVSS 3.1** | **8.8** — `AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H` | | **修复于** | Chrome **≥ 144.0.7559.59** (Linux) · **≥ 144.0.7559.60** (Win/Mac) | | **同时影响** | 相同构建版本的 Edge、Brave、Opera、嵌入式 Chromium | **Google / NVD 描述:** *ANGLE 中的 Use after free … 允许远程攻击者通过**精心构造的 HTML 页面**来**潜在地利用堆损坏**。* ## 一句话概述 在 **0-day 窗口期**,受害者打开了一个看似正常的 **WebGL demo** 页面;攻击者**在 ANGLE 仍有任务在执行时销毁了 GPU 上下文**;被释放的 C++ 内存**再次被使用** → 导致损坏 → **以登录用户的身份执行任意代码** — 随后 cookie 和会话信息便流出浏览器。 ## 涉及对象 | 角色 | 具体内容 | |------|------------| | **受害者** | Windows / macOS / Linux 上的 Chrome 用户(任意 GPU 供应商) | | **攻击者页面** | `https://benchmark-gpu.example/test` — 伪造的基准测试、游戏预告、“验证码验证” | | **渲染器 + GPU** | 执行 ANGLE 的标签页进程 + GPU 技术栈 | | **GlassBreak** | 原生 ANGLE 对象**被过早释放**;下一次 GL 调用 = **UAF** | | **供应商** | Google Chrome 安全团队 → 稳定版 144 → **CVE-2026-0908** | ## 根本原因(为什么它是 0-day) ANGLE 将 WebGL 转换为 D3D/Vulkan/Metal。销毁过程是**异步**的:上下文丢失、iframe 导航和 `delete*` 调用在不同的线程上完成,与绘图完成处理程序的线程不同。 ``` JavaScript (WebGL) ↓ Blink / GPU IPC ↓ ANGLE ← GlassBreak / CVE-2026-0908 ↓ Vulkan / D3D / Metal ``` **生命周期 bug:** ``` Time --> | [create texture / FBO / program] → LIVE | [loseContext / delete / nav] → teardown queued | [FREE native GL object] ← too early (bug) | [pending draw / callback] → USE AFTER FREE ``` 为什么防御者在 CVE **发布之前**就很关注它: - 没有特征码,也没有供 SOC 规则使用的 CVE ID。 - **每一个**现代网站都使用 `` — 攻击会混入正常流量中。 - 补丁只有在 **144** 版本推广部署后才起作用;由于 MDM 延迟更新的设备群仍然处于**相当于 0-day** 的状态。 ## 攻击步骤与影响 1. `python disable_aslr.py ` 生成 chrome.noaslr.exe - 此生成步骤仅适用于 Windows。 2. `python copy_mojo_js_bindings.py ` 并将生成的文件复制到 PoC 文件夹中。 3. 在包含 mojo 和解压后文件的 PoC 文件夹中运行 `python -m http.server 1337`。 4. `chrome.noaslr.exe --incognito "http://localhost:1337" --enable-blink-features=MojoJS` 5. PoC 初始化完成后(两者均已就绪),你可以复制 URL,并在下次加载 PoC 时使用它以加快启动速度。 6. 在 Web UI 中:start -> spray -> exploit。 7. 如果一切顺利,你应该会看到一个 cmd 窗口和一个计算器弹出。(即使启用了 CFG 也是如此) https://github.com/user-attachments/assets/84aa9a39-5420-4d2f-a33f-c1eba3da06cd ## 影响阶梯 ``` Step 0 Visit page → Social engineering Step 1 WebGL spray → Heap control (0-day prep) Step 2 Context race → Teardown interleaving Step 3 UAF (GlassBreak) → Memory safety broken Step 4 Corruption → Exploit primitive Step 5 Renderer RCE → User-level code execution Step 6 Exfil → Data / session theft Step 7 Escape (optional) → Broader compromise Step 8 Exit → Victim unaware ``` | 阶段 | 0-day 卖家的价值 | 防御者的紧迫性 | |-------|-------------------|------------------| | 3–4 | 内存损坏 | 寻找未打补丁的 Chrome | | 5–6 | 完整的 drive-by RCE 场景 | 强制升级至 **144+** | | CVE 发布后 | 价格下降;PoC 可能泄露 | 在 VM 中映射 **CVE-2026-0908** | ## 当今的 0-day 风险(未打补丁的安装) **如果您遇到以下情况,您将再次回到 0-day 领域:** | 检查项 | 是否有漏洞? | |-------|-------------| | `chrome://version` < **144.0.7559.59** | **是** | | 移动/桌面应用中旧的嵌入式 WebView | **是**(取决于应用) | | 延迟更新的 LTS / 离线企业黄金镜像 | **是** | | Chrome 已打补丁但 **Edge/Brave** 未更新 | **是**(相同的引擎世代) | **2026 年 5 月指南:** 对于任何仍与该表匹配的资产,请将 **CVE-2026-0908** 视为**严重**级别 — 在构建版本号更改之前,其实际危害与持有一个**已知的 0-day** 相同。 ## 缓解措施 ### 终结 0-day 暴露 1. **Chrome ≥ 144.0.7559.59** — `chrome://settings/help` 2. **MDM / GPO** — 强制执行最低浏览器版本;拦截过时的 Chromium 应用 3. **漏洞扫描器** — 使用特征码 **CVE-2026-0908** ### 减少影响范围 - 以**非管理员**身份运行日常浏览器 - 在代理服务器上拦截**未知**的、重度依赖 WebGL 的域名 - 启用**安全浏览增强型保护** - SOC:针对单站点访问后的 `chrome` 崩溃激增及 `angle` / `gpu` 技术栈崩溃发出警报 ### 预期的供应商修复方案(终结 0-day 的措施) - 在 ANGLE 对象销毁时使用更严格的引用计数 / 生成 token - 在释放包装器之前取消挂起的 GL 任务 - 在 GPU 路径中加固分配器 / 引入 MiraclePtr(Chrome 安全路线图) ## MITRE 映射 | | ID | 名称 | |---|-----|------| | 战术 | [TA0001](https://attack.mitre.org/tactics/TA0001/) | Initial Access (初始访问) | | 技术 | [T1189](https://attack.mitre.org/techniques/T1189/) | Drive-by Compromise (Drive-by 妥协) | | 弱点 | [CWE-418](https://cwe.mitre.org/data/definitions/416.html) | Use After Free | ## 参考 - [NVD — CVE-2026-0908](https://nvd.nist.gov/vuln/detail/CVE-2026-0908) - [OSV — CVE-2026-0908](https://osv.dev/vulnerability/CVE-2026-0908) - [MS-ISAC Advisory 2026-004](https://www.cisecurity.org/advisory/multiple-vulnerabilities-in-google-chrome-could-allow-for-arbitrary-code-execution_2026-004) (2026-01-13) - [Palo Alto PAN-SA-2026-0002](https://security.paloaltonetworks.com/PAN-SA-2026-0002) - [Chrome Releases](https://chromereleases.googleblog.com/) — 2026 年 1 月稳定版 - [Chromium ANGLE](https://chromium.googlesource.com/angle/angle/)
标签:Chrome, UAF漏洞, Web报告查看器, 漏洞分析, 漏洞披露, 路径探测, 逆向工具