漏洞概述

2026年2月13日,Google 发布了 Chrome 安全更新,修复了一个被标记为 CVE-2026-2441 的高危漏洞。这是 2026年首个 Chromium 零日漏洞,Google 确认该漏洞已在野利用("an exploit for CVE-2026-2441 exists in the wild")。

⚠️ 关键信息:该漏洞被描述为"User after free in CSS",影响所有基于 Chromium 的浏览器(Chrome、Edge、Vivaldi、Brave 等)。

影响版本

浏览器 安全版本 检查方法
Google Chrome ≥ 145.0.7632.75 Settings > About Chrome
Microsoft Edge ≥ 145.0.3800.58 Help > About Microsoft Edge
Vivaldi ≥ 7.8 Help > About
Brave ≥ v1.87.188 Help > About Brave

漏洞技术分析

漏洞类型:Use After Free (UAF)

该漏洞位于 Chrome 的 Blink CSS 引擎中,具体在 @font-feature-values 规则的解析过程中。当浏览器解析以下 CSS 时:

@font-feature-values VulnTestFont {
    @styleset {
        entry_a: 1;
        entry_b: 2;
        entry_c: 3;
        /* ... */
    }
}

浏览器会创建一个 CSSFontFeaturesValueMap 对象来存储这些值。问题出在 JavaScript 表示形式的 HashMap 数据结构的内存管理上——恶意脚本可以访问已被释放的内存。

💡 技术细节:这不是一个"纯 CSS"漏洞。CSS 本身不是恶意部分,而是 Chrome 的 CSS 渲染引擎在处理特定 CSS 规则时的内存管理 bug。攻击仍然需要 JavaScript 来触发和利用。

攻击链

  1. 内存释放后重用: 恶意脚本触发 UAF 条件
  2. 类型混淆: 攻击者将释放的内存重新分配给另一个对象
  3. 代码执行: 利用内存损坏执行任意代码

修复方案

Google 的修复是将 HashMap 的 deep copy 而非指针引用传递给 CSSFontFeaturesValueMap,从而消除释放后引用的可能性。

浏览器安全对比

🛡️ Firefox 优势:Mozilla 在 2017 年用 Rust 重写了 CSS 渲染引擎(Quantum CSS / Stylo),Rust 的内存安全特性可以自动防止此类 Use After Free 漏洞。
🔧 Chromium 的应对:Google 自 2023 年开始支持在 Chromium 中使用 Rust,动机之一就是"更安全(减少 C++ 中的内存安全 bug)"。但这项工作仍在进行中,CSS 引擎目前仍主要使用 C++。

常见误解澄清

❌ 误解:这是一个"CSS 漏洞",意味着恶意 CSS 可以直接执行代码。
✅ 事实:
  • 这不是纯 CSS 漏洞——仍需要 JavaScript 来触发和利用
  • CSS 验证无法阻止此漏洞
  • 问题的根源是 Chrome Blink 引擎的 C++ 内存管理
  • 攻击者使用 CSS 作为攻击向量,但漏洞在浏览器引擎中

参考资料