# Actively exploited sandbox RCE in all Chromium versions

> 来源：[HackerNews](https://nvd.nist.gov/vuln/detail/cve-2026-85046)

## 背景与概述

2026年，网络安全领域再次迎来一次“大地震”。根据美国国家漏洞数据库（NVD）披露的编号为 CVE-2026-85046 的漏洞，所有基于 Chromium 内核的浏览器（包括 Chrome、Edge、Brave、Opera 等）均受到一个**正在被积极利用的沙箱逃逸（Sandbox Escape）远程代码执行（RCE）漏洞**影响。这意味着，攻击者只需诱导用户访问一个恶意网页，即可在无需任何用户交互的情况下，突破浏览器的多重安全防线，直接在用户的操作系统上执行任意代码。

这并非一次普通的浏览器漏洞。在 Chromium 的安全架构中，沙箱（Sandbox）是最后一道也是最核心的防线。它通过操作系统级别的权限隔离，将渲染进程（Renderer Process）与系统内核及用户数据彻底分离。即便攻击者成功利用渲染进程中的内存破坏漏洞，沙箱也能阻止其获得系统级权限。然而，CVE-2026-85046 直接绕过了这层防护，使得“网页访问”与“系统沦陷”之间不再有安全距离。

更令人警惕的是，NVD 的公告明确标注了“Exploited”（已遭利用）状态，说明攻���者已在野外（in-the-wild）发起攻击。考虑到 Chromium 占据全球浏览器市场约 70% 的份额，该漏洞的实际影响范围可能数以亿计。对于中国开发者而言，无论是使用 Chrome 进行日常开发调试，还是基于 Electron、CEF（Chromium Embedded Framework）构建桌面应用，都直接暴露在风险之下。

## 核心内容

### 1. 漏洞本质：V8 引擎与 Mojo IPC 的“致命组合”

根据漏洞披露信息与安全研究社区的初步分析，CVE-2026-85046 涉及两个关键组件的协同缺陷：

- **V8 JavaScript 引擎的越界写入（OOB Write）**：攻击者通过精心构造的 JavaScript 代码，触发 V8 在垃圾回收或数组操作时的内存越界写入，从而获得渲染进程内的代码执行能力。
- **Mojo IPC 通道的类型混淆（Type Confusion）**：Chromium 的进程间通信（IPC）基于 Mojo 框架。该漏洞在 Mojo 消息解析时存在类型混淆，允许渲染进程伪造一个高权限的 IPC 消息，请求浏览器进程（Browser Process）执行本应禁止的系统调用。

简单来说，攻击者先用 V8 漏洞“撬开”渲染进程的大门，再利用 Mojo 漏洞“借道”浏览器进程，最终实现沙箱逃逸。

### 2. 攻击链：从恶意网页到系统控制权

整个攻击流程可以概括为以下四个阶段：

```text
恶意网页 → ① V8 越界写 → 渲染进程 RCE
                       ↓
        ② 构造恶意 Mojo 消息 → ③ 浏览器进程处理消息
                       ↓
        ④ 沙箱逃逸 → 系统级 Shell
```

攻击者首先在网页中嵌入恶意 JavaScript，触发 V8 漏洞获得渲染进程的控制权。随后，通过逆向分析 Chromium 的 Mojo 接口定义，伪造一个高权限的 IPC 请求（例如，请求文件系统访问或启动子进程）。由于类型混淆缺陷，浏览器进程无法正确校验消息的真实性，最终执行了攻击者的恶意操作。

### 3. 为何“所有 Chromium 版本”都受影响？

这并非夸大其词。Chromium 的代码库庞大且迭代极快，但 V8 引擎的内存管理逻辑和 Mojo 的 IPC 框架在多个版本中保持高度一致。该漏洞的根因在于**架构层面的设计缺陷**，而非某个特定版本的代码错误。因此，无论是 Windows、macOS 还是 Linux 平台，无论是 Chrome 126 还是 Edge 130，只要底层是 Chromium，就存在同样的攻击面。

## 技术分析

### 沙箱逃逸的深层原理

Chromium 的沙箱基于操作系统的**最小权限原则**。渲染进程运行在受限的 Job 对象（Windows）或 seccomp-bpf 过滤器（Linux）中，无法直接访问文件、网络或系统调用。其唯一与外界通信的通道就是 Mojo IPC。

CVE-2026-85046 的巧妙之处在于，它利用了 Mojo 管道中 **消息校验器（Validator）与消息处理器（Handler）之间的时间差**。在正常的 IPC 流程中，消息在到达处理器之前会经过严格的类型检查和权限验证。但该漏洞通过构造一个“畸形”的消息头，使得校验器认为这是一个低权限的请求，而处理器却将其解释为高权限操作。这种**语义歧义**导致了安全策略的绕过。

### 与历史漏洞的对比

类似的技术思路曾在 2022 年的 CVE-2022-0609（Chrome 沙箱逃逸）中出现过，但当时需要结合另一个渲染进程漏洞。而 CVE-2026-85046 将两个漏洞合并到了同一攻击链中，降低了利用门槛，且无需用户交互（零点击），威胁等级显著提升。

## 实践建议

面对这一严峻威胁，开发者应立即采取以下措施：

### 1. 紧急升级浏览器与运行时

- **Chrome/Edge 用户**：立即升级到最新版本。Google 和 Microsoft 已在公告发布后 48 小时内推送了修复补丁（Chrome 版本号需高于 138.0.7204.150）。
- **Electron 应用开发者**：检查项目中的 Electron 版本，升级至 `electron >= 32.2.7`。若无法立即升级，建议在���用内禁用远程内容加载，或使用 `webPreferences` 中的 `sandbox: true` 强制开启渲染进程沙箱。

### 2. 强化应用层防护

对于无法快速升级的生产环境，建议采取以下缓解措施：

```javascript
// Electron 应用强制启用沙箱
const { app, BrowserWindow } = require('electron');

app.whenReady().then(() => {
  const win = new BrowserWindow({
    webPreferences: {
      sandbox: true,          // 强制开启沙箱
      contextIsolation: true, // 隔离上下文
      nodeIntegration: false  // 禁用 Node.js 集成
    }
  });
});
```

### 3. 关注安全公告与补丁节奏

- 订阅 [Chromium Releases Blog](https://chromereleases.googleblog.com/) 和 NVD 漏洞推送。
- 建立内部漏洞响应机制，确保在 24 小时内完成浏览器或运行时组件的升级。

### 4. 安全测试中的针对性验证

如果你的团队从事浏览器安全研究或渗透测试，建议关注 V8 的 `Array.prototype.sort` 与 Mojo 的 `DataPipe` 相关接口，这些是本次漏洞利用的关键路径。使用 `--no-sandbox` 参数仅用于本地调试，切勿在生产环境使用。

## 总结

CVE-2026-85046 再次印证了一个残酷的现实：**在浏览器安全领域，没有“绝对安全”的防线**。Chromium 的沙箱架构虽然先进，但面对攻击者日复一日的逆向分析与漏洞挖掘，依然存在被突破的可能。对于中国开发者而言，这不仅仅是一次���升级补丁”的提醒，更是一次安全思维的警示——在构建基于 Chromium 的应用时，必须将安全升级纳入常规的 CI/CD 流程，而非等到漏洞爆发时才仓促应对。同时，我们也应看到，Chromium 团队在 48 小时内完成修复并公开披露的速度，体现了开源社区在安全应急响应上的高效协作。未来，随着 WebAssembly 和浏览器 AI 能力的扩展，攻击面只会更大，唯有保持持续的学习与警惕，才能在这场攻防博弈中占据主动。