Chrome致命DoS:Brash 15秒崩盘全球41亿设备-附源码

引言

在浏览器安全领域,拒绝服务(DoS)攻击因其对用户体验和系统稳定性的直接破坏而备受关注。近日,安全研究员Jose Pino(GitHub用户jofpin)公开披露了一个名为“Brash”的关键漏洞,该漏洞利用Chromium Blink渲染引擎中document.title API的速率限制缺失,导致基于Chromium的浏览器在短时间内崩溃。 此漏洞影响全球超过30亿用户,凸显了现代浏览器架构中潜在的资源耗尽风险。本文将从技术细节、影响评估、利用机制及防护措施等方面进行系统分析,以期为企业和个人用户提供专业指导。

漏洞概述

Brash漏洞源于Blink引擎对document.title属性的更新机制缺乏有效节流控制。该API允许JavaScript动态修改网页标题,但未对更新频率实施限制,导致攻击者可通过高频注入实现主线程饱和。 具体而言,攻击脚本可每秒生成数百万DOM突变,阻塞事件循环(Event Loop),从而引发浏览器冻结、资源耗尽及最终崩溃。

4a47a0db6e20260115115029

受影响组件及版本:

• 核心组件:Blink渲染引擎。

• 受影响版本:Chromium ≤ 143.0.7483.0(经测试验证的版本包括138.0.7204.251、141.0.7390.108及143.0.7483.0)。

• 受影响产品:所有基于Chromium的浏览器,包括Google Chrome、Microsoft Edge、Opera、Brave、Vivaldi、Arc Browser、Dia Browser、Perplexity Comet及ChatGPT Atlas。iOS平台浏览器因强制使用WebKit引擎而豁免;Firefox(Gecko引擎)及Safari(WebKit引擎)不受影响。

截至2025年11月1日,Google尚未发布官方补丁,该漏洞仍处于未修补状态。 CVSS v3.1评分暂定为7.5(高危),主要基于其易利用性和广泛影响。

技术细节分析

Blink引擎的设计假设开发者对document.title的调用为偶发性操作,未预见恶意滥用场景。攻击利用JavaScript的异步执行特性,通过预生成高熵字符串(例如512字符十六进制哈希)并以极高频率(~24百万次/秒)更新标题,实现以下连锁效应:

1. DOM突变洪泛:每轮更新触发渲染管道(Rendering Pipeline)和合成器(Compositor)的重绘,导致内存分配激增。

2. 事件循环阻塞:主线程(UI Thread)饱和,阻止用户输入处理及垃圾回收(GC)。

3. 资源耗尽:CPU占用率达100%,内存泄漏累积,最终触发“页面无响应”对话框或进程终止。

关键技术洞察:攻击采用“三连击”模式(每burst执行3次连续更新),最大化渲染抖动(Thrashing)而避开潜在的浏览器级缓存机制。该设计优化了CPU开销,避免实时计算引发的GC暂停。

PoC实现洞察

漏洞PoC(Proof-of-Concept)代码简洁高效,分为三个阶段:

准备阶段:预生成100个唯一字符串,避免运行时计算开销。示例代码:

gid: function() {
    let id = "";
    for (let i = 0x0; i < 0x200; i++) {
        id += ((Math.random() * 0x10) | 0x0).toString(0x10);
    }
    return id;
}

• 注入阶段:配置burstSize(默认8000)和interval(默认1ms),每burst注入3次更新。示例代码:

inject: function() {
    const t = this.titles[Math.random() * this.titles.length | 0x0];
    for (let i = 0x0; i < 0x3; i++) {
        document.title = t + i;
    }
    this.counter += 0x3;
}

饱和阶段:持续执行导致渐进式失败(0-5秒:初始饱和;5-15秒:冻结;15-60秒:崩溃)。

攻击强度可调:中等(600次/秒)、激进(60,000次/秒)或极端(~24M次/秒尝试)。支持延迟触发(e.g., delay: “30s”)或定时执行(e.g., scheduled: “2025-10-18T09:30:00″),适用于针对性场景如会议中断或自动化代理投毒。

源码下载

在线测试:https://www.hackfuzz.com/test/

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 共3条

请登录后发表评论

    暂无评论内容