CVE-2025-14174: Google Chromium Out of Bounds Memory Access Exploitation
Detects exploitation of CVE-2025-14174, an out-of-bounds memory access vulnerability in Google Chromium. This vulnerability is actively exploited in the wild (CISA KEV) and can allow attackers to execute arbitrary code or escape the browser sandbox via a crafted web page. Detection focuses on abnormal Chromium process behavior including child process spawning, memory anomalies, and post-exploitation indicators.
Vulnerability Intelligence
KEV — Known ExploitedAffected Software
- Vendor
- Product
- Chromium
Timeline
- Disclosed
- December 12, 2025
CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
What is CVE-2025-14174 CVE-2025-14174: Google Chromium Out of Bounds Memory Access Exploitation?
CVE-2025-14174: Google Chromium Out of Bounds Memory Access Exploitation (CVE-2025-14174) maps to the Initial Access and Execution and Privilege Escalation tactics — the adversary is trying to get into your network in MITRE ATT&CK.
This page provides production-ready detection logic for CVE-2025-14174: Google Chromium Out of Bounds Memory Access Exploitation, covering the data sources and telemetry it touches: Microsoft Defender for Endpoint, Microsoft Sentinel, Azure Monitor. The queries below are rated critical severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
let chromiumProcesses = dynamic(["chrome.exe", "msedge.exe", "brave.exe", "chromium.exe"]);
let suspiciousChildProcs = dynamic(["cmd.exe", "powershell.exe", "wscript.exe", "cscript.exe", "mshta.exe", "rundll32.exe", "regsvr32.exe", "certutil.exe", "bitsadmin.exe"]);
DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where InitiatingProcessFileName has_any (chromiumProcesses)
| where FileName has_any (suspiciousChildProcs)
| where InitiatingProcessParentFileName !has "explorer.exe" or isempty(InitiatingProcessParentFileName)
| project TimeGenerated, DeviceName, AccountName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, ProcessCommandLine, InitiatingProcessId, ProcessId
| join kind=leftouter (
DeviceNetworkEvents
| where TimeGenerated > ago(7d)
| where InitiatingProcessFileName has_any (chromiumProcesses)
| where RemotePort in (4444, 1337, 8080, 9001, 31337)
| project TimeGenerated, DeviceName, InitiatingProcessId, RemoteIP, RemotePort, RemoteUrl
) on DeviceName, $left.InitiatingProcessId == $right.InitiatingProcessId
| extend RiskScore = case(
FileName =~ "powershell.exe" and ProcessCommandLine has_any ("-enc", "-EncodedCommand", "IEX", "Invoke-Expression"), 90,
FileName =~ "cmd.exe" and ProcessCommandLine has "/c", 70,
isnotempty(RemoteIP), 80,
50
)
| where RiskScore >= 50
| order by RiskScore desc Detects Chromium browser processes spawning suspicious child processes that may indicate exploitation of CVE-2025-14174. Correlates with outbound network connections on known C2 ports from Chromium renderer processes.
Data Sources
Required Tables
False Positives
- Legitimate browser automation tools (Selenium, Playwright) that spawn command-line processes
- Enterprise browser management solutions that invoke scripts via browser context
- Developer environments where Chrome extensions legitimately invoke native messaging hosts
- IT admin tasks executed via browser-based remote management consoles
Sigma rule & cross-platform mapping
The detection logic for CVE-2025-14174: Google Chromium Out of Bounds Memory Access Exploitation (CVE-2025-14174) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: process_creation
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for CVE-2025-14174
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Chromium Renderer Spawning CMD Shell (Simulated)
Expected signal: Process creation event showing chrome.exe as parent of cmd.exe; file write event to C:\Temp\chromium_oob_test.txt
- Test 2Chrome Spawning PowerShell with Encoded Command
Expected signal: Process creation event with chrome.exe parent, powershell.exe child with -EncodedCommand argument visible in command line
- Test 3Linux Chromium Spawning Shell Process
Expected signal: Process creation audit log (auditd or Sysdig) showing chromium-browser as parent of bash process; file write to /tmp/
- Test 4Browser Process Network Connection to C2 Port (Simulated)
Expected signal: Network connection event from chrome.exe to 127.0.0.1:4444; correlated with child process spawn event
Response Playbook
Triage
- Identify the Chrome/Chromium version on the affected host and confirm whether it predates the December 2025 security patch. Check via registry (HKLM\Software\Google\Chrome\BLBeacon\version) or by querying installed software inventory.
- Review the parent-child process tree for the flagged Chromium process. Determine whether a renderer or GPU process (not the main browser process) spawned the child — renderer spawns are a stronger indicator of sandbox escape.
- Examine the command-line arguments of the spawned child process for encoded payloads, download cradles (e.g., IEX, DownloadString, curl/wget to external IPs), or persistence commands.
- Check browser history and DNS logs for the URL visited immediately before the suspicious process spawn to identify the initial delivery vector (phishing, malvertising, watering hole).
Containment
- Isolate the affected endpoint from the network immediately if post-exploitation activity (C2 beacon, lateral movement) is confirmed. Use EDR network isolation to preserve forensic state while preventing spread.
- Force-terminate the Chromium process tree and any spawned child processes. Push an emergency browser policy via Group Policy or Intune to block Chrome launch on the host until the patch is applied.
- Revoke active user sessions and reset credentials for the affected user account, particularly if the spawned process accessed credential stores (DPAPI, browser saved passwords, Windows Credential Manager).
Evidence Collection
- Capture a full memory dump of the Chromium renderer process (and GPU process if applicable) before terminating. Use tools such as ProcDump or WinPmem to preserve heap state for OOB analysis.
- Collect browser crash reports and minidumps from %LOCALAPPDATA%\Google\Chrome\User Data\Crashpad\reports\ — these may contain stack traces pointing to the exploited code path.
- Export Windows Event Logs (System, Security, Application), Sysmon logs, and EDR telemetry covering the 30 minutes before and after the first suspicious process spawn event.
Escalation Criteria
- ! Escalate immediately to Incident Response if the spawned child process established an outbound connection to an external IP, downloaded a secondary payload, or modified startup/persistence locations (Run keys, scheduled tasks, services).
- ! Escalate if the affected user has privileged access (domain admin, service account, developer with code-signing rights) due to elevated risk of credential theft and lateral movement.
Investigation Guide
Forensic Artifacts
- >
Chromium crash reports and minidumps at %LOCALAPPDATA%\Google\Chrome\User Data\Crashpad\reports\ - >
Windows Event ID 4688 (process creation) logs showing Chromium as parent of suspicious child processes - >
Prefetch files (C:\Windows\Prefetch\) for any executables spawned by the browser within the exploitation window - >
Network connection records (NetFlow, firewall logs) for outbound connections from chrome.exe or its child processes - >
Browser history and visited URLs from %LOCALAPPDATA%\Google\Chrome\User Data\Default\History (SQLite) to identify delivery site
Tuning Guidance
Reduce false positives by building an allowlist of known-good Chromium child processes specific to your environment (e.g., native messaging hosts for 1Password, LastPass, corporate SSO agents). Scope the detection to renderer process PIDs rather than the main browser PID where telemetry allows. Increase confidence by correlating process spawn events with concurrent outbound network connections or file write events in user-writable paths. Consider suppressing alerts from hosts running headless Chrome in CI/CD pipelines by tagging those assets in your CMDB and filtering by asset group.
Hunting Queries
Broad threat hunt for any non-standard processes spawned by Chromium over the past 30 days. Useful for identifying slow/low exploitation attempts or compromised hosts that were not caught by real-time detection.
DeviceProcessEvents
| where TimeGenerated > ago(30d)
| where InitiatingProcessFileName =~ "chrome.exe"
| where InitiatingProcessParentFileName !in~ ("explorer.exe", "chrome.exe", "update_notifier.exe", "GoogleUpdate.exe")
| summarize ChildProcesses=make_set(FileName), CommandLines=make_set(ProcessCommandLine), Count=count() by DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine
| where array_length(ChildProcesses) > 0
| order by Count desc index=endpoint sourcetype=sysmon EventCode=1
| where ParentImage like "%chrome.exe%" OR ParentImage like "%msedge.exe%"
| where NOT (Image like "%chrome.exe%" OR Image like "%GoogleCrashHandler%" OR Image like "%nacl64.exe%")
| stats count by host, ParentImage, Image, CommandLine
| sort - count Atomic Red Team Tests
Simulates the post-exploitation behavior of CVE-2025-14174 by launching Chrome and using a debug flag to spawn a cmd.exe child process, mimicking sandbox escape telemetry without actual exploitation.
Command
Start-Process 'C:\Program Files\Google\Chrome\Application\chrome.exe' -ArgumentList '--no-sandbox', '--disable-gpu', '--renderer-cmd-prefix="cmd.exe /c whoami > C:\Temp\chromium_oob_test.txt"' -Wait Cleanup
Remove-Item C:\Temp\chromium_oob_test.txt -ErrorAction SilentlyContinue; Stop-Process -Name chrome -Force -ErrorAction SilentlyContinue Expected Telemetry
Process creation event showing chrome.exe as parent of cmd.exe; file write event to C:\Temp\chromium_oob_test.txt
Expected Detection
Alert should fire on the KQL and SPL queries detecting Chromium spawning cmd.exe
Simulates an attacker using a Chromium exploitation foothold to run an encoded PowerShell command, representing a common post-exploitation pattern seen after browser memory corruption exploits.
Command
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Write-Output "CVE-2025-14174 test execution"')); Start-Process 'C:\Program Files\Google\Chrome\Application\chrome.exe' -ArgumentList '--no-sandbox', "--renderer-cmd-prefix=powershell.exe -EncodedCommand $encoded" Cleanup
Stop-Process -Name chrome -Force -ErrorAction SilentlyContinue; Stop-Process -Name powershell -Force -ErrorAction SilentlyContinue Expected Telemetry
Process creation event with chrome.exe parent, powershell.exe child with -EncodedCommand argument visible in command line
Expected Detection
Should trigger high-risk score (90) in KQL and SPL detection rules due to encoded PowerShell from browser parent
On Linux, simulates exploitation telemetry by launching Chromium with the --no-sandbox flag and a renderer prefix that spawns a shell command, generating process ancestry logs consistent with browser sandbox escape.
Command
chromium-browser --no-sandbox --renderer-cmd-prefix='bash -c "id > /tmp/chromium_oob_test.txt"' about:blank & Cleanup
rm -f /tmp/chromium_oob_test.txt; pkill -f chromium-browser Expected Telemetry
Process creation audit log (auditd or Sysdig) showing chromium-browser as parent of bash process; file write to /tmp/
Expected Detection
Linux-specific hunting queries should surface the bash child of chromium-browser
Simulates post-exploitation C2 callback by having the Chrome process connect to a local listener on a port commonly used in exploitation frameworks (4444), generating the network telemetry that the detection correlation queries target.
Command
Start-Job { Start-Process 'ncat' -ArgumentList '-lvp 4444' }; Start-Sleep 2; Start-Process 'C:\Program Files\Google\Chrome\Application\chrome.exe' -ArgumentList '--no-sandbox', '--utility-cmd-prefix="powershell.exe -Command New-Object System.Net.Sockets.TcpClient(\"127.0.0.1\", 4444)"' Cleanup
Stop-Process -Name chrome -Force -ErrorAction SilentlyContinue; Stop-Job -Name * -ErrorAction SilentlyContinue; Stop-Process -Name ncat -Force -ErrorAction SilentlyContinue Expected Telemetry
Network connection event from chrome.exe to 127.0.0.1:4444; correlated with child process spawn event
Expected Detection
KQL correlation query joining DeviceProcessEvents and DeviceNetworkEvents should fire with high risk score