A fire exit that only matters if the building is already on fire — and nobody has matches
CVE-2026-11120 is an insufficient input validation flaw in Chrome's Enterprise Reporting IPC surface. A remote attacker who has *already compromised the renderer process* — itself a feat requiring a separate, unrelated vulnerability — can send crafted IPC messages through the Enterprise Reporting channel to escape the Chrome sandbox and achieve code execution on the host OS. All Chrome desktop versions prior to 149.0.7827.53 (Windows/Linux) and 149.0.7827.54 (macOS) are affected. The fix shipped in the massive Chrome 149 release on June 2, 2026, which patched a record 429 vulnerabilities.
The NVD CVSS score of 9.6 CRITICAL is dramatically misaligned with reality. The CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C) treats the renderer compromise prerequisite as if it doesn't exist — rating attack complexity as *Low* when the attacker actually needs a separate, independent exploit chain just to reach the starting line. Chromium's own security team rates this Medium, and they're right. A sandbox escape without a renderer exploit is a locked second door with no first door to get through. No public PoC exists, EPSS sits at the 18th percentile (0.27%), it's not KEV-listed, and there is zero evidence of in-the-wild exploitation. For a 10,000-host fleet, this is a normal patching-cycle item, not a fire drill.
4 steps from start to impact.
Renderer process compromise
- Separate renderer exploit (0-day or unpatched n-day)
- Victim running Chrome < 149.0.7827.53
- Chrome V8 sandbox (Ubercage) dramatically raises the bar since 2024
- Full renderer exploits command $500K–$3.5M on the broker market (Crowdfense, Zerodium)
- Chrome's heap partitioning, MiraclePtr, CFI, and stack protectors make renderer bugs rare and expensive
Victim visits attacker-controlled page
UI:R — user interaction is required. Enterprise environments with URL filtering, DNS sinkholes, and email gateways add friction here.- Social engineering, malvertising, or watering hole delivery
- User clicks or navigates to attacker-controlled content
- Secure Email Gateway blocks most phishing links
- Chrome Safe Browsing flags known malicious domains
- DNS-layer filtering (Umbrella, Zscaler) blocks C2 and exploit-kit domains
- Enterprise proxy/SWG inspection
Crafted IPC to Enterprise Reporting surface
- Renderer already compromised (Step 1 complete)
- Enterprise Reporting IPC endpoint reachable from renderer
- Chrome's Mojo IPC has type-checked interfaces that limit what a renderer can send
- Not all browser-process IPC surfaces are reachable from every renderer — the Enterprise Reporting endpoint may require specific process state
- Chrome's MojoJS bindings are disabled in production builds, limiting IPC surface enumeration
Sandbox escape and host-level code execution
- Steps 1–3 complete
- OS-level mitigations (ASLR, DEP, CIG, ACG) do not block the specific escape vector
- Windows Arbitrary Code Guard (ACG) and Code Integrity Guard (CIG) in Chrome block many sandbox escape patterns
- Linux seccomp-bpf and namespace isolation add defense-in-depth
- EDR agents detect anomalous child process spawning from browser processes
- Exploit lands at user privilege — SYSTEM/root requires additional LPE
CloudReportingEnabled, CloudProfileReportingEnabled), explicitly set them to disabled via GPO or MDM. This removes the IPC surface the vulnerability targets. Even if the underlying code is still present, reducing active IPC registration narrows the attack surface. Deploy within the 365-day remediation window.SitePerProcess is enabled (default since Chrome 67) and consider StrictOriginIsolation. This limits what a compromised renderer can access via IPC by ensuring cross-origin content runs in separate processes. Does not directly block CVE-2026-11120 but constrains the blast radius of a renderer compromise.chrome.exe — e.g., cmd.exe, powershell.exe, wscript.exe, or writes to %TEMP% with executable extensions. This detects the *outcome* of a successful sandbox escape even if the exploit itself is invisible. Ensure browser process monitoring rules are active.- WAF or network IDS/IPS — This is a client-side browser vulnerability exploited via IPC within the browser process. There is no network signature to detect or block. WAF rules are irrelevant.
- Disabling JavaScript — The renderer compromise prerequisite is the hard part; if an attacker already has renderer code execution, disabling JS doesn't prevent the IPC-based sandbox escape.
- Network segmentation — The exploit chain occurs entirely within the browser process on the endpoint. Network segmentation does not prevent the sandbox escape itself, though it limits post-exploitation lateral movement.
The supporting signals.
| In-the-wild exploitation | None observed. Not listed in CISA KEV. No reports from Google TAG, Mandiant, or other threat intel vendors of active exploitation campaigns. GreyNoise shows no scanning activity (expected — client-side browser vuln has no server-side scan surface). |
|---|---|
| Proof-of-concept | No public PoC. No repositories found on GitHub named after CVE-2026-11120. Not indexed on pocindex.io. Not present in SecureWithUmer/CVE-2026-PoCs or nomi-sec/PoC-in-GitHub. No Nuclei template. The renderer-compromise prerequisite makes standalone PoC development impractical. |
| EPSS | 0.00265 (0.27%) — 18th percentile. Bottom quintile of exploitation probability. Consistent with a chained vulnerability that has no public exploit code. |
| KEV status | Not listed. No CISA Known Exploited Vulnerabilities catalog entry as of 2026-09-30. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H — 9.6 CRITICAL per NVD. The AC:L (Attack Complexity: Low) rating is the primary source of score inflation. The renderer-compromise prerequisite should push this toward AC:H, which would drop the score to ~8.3. Chromium's own assessment: Medium. |
| Affected versions | All Google Chrome desktop versions prior to 149.0.7827.53 (Linux) / 149.0.7827.54 (Windows, macOS). Chromium-based browsers (Edge, Brave, Opera, Vivaldi) sharing the affected codebase are also impacted if below the equivalent version. |
| Fixed versions | Chrome 149.0.7827.53 (Linux), 149.0.7827.54 (Windows/macOS), released June 2, 2026. Debian/Ubuntu: marked *Not affected* — likely does not ship the Enterprise Reporting component in their Chromium builds. Microsoft Edge: check corresponding Chromium base version. |
| Chromium severity | Medium — Chromium's own security team rates this two full tiers below NVD's CRITICAL. Chromium uses a custom severity model that accounts for exploit chain prerequisites. Red Hat also rates it Moderate. |
| Exploit market context | Full Chrome renderer + sandbox escape chains command $3–3.5M from brokers like Crowdfense. A sandbox escape alone is valued at ~$250K–$500K. This pricing reflects the extreme difficulty of the prerequisite renderer compromise. |
| Disclosure | Published 2026-06-04. Chromium issue tracker: issues.chromium.org/issues/501467566 (likely access-restricted). Reporting researcher not publicly credited in available release notes. |
Sources.
- OpenCVE - CVE-2026-11120 Details
- CyberStrike - CVE-2026-11120 Detail
- Ubuntu Security - CVE-2026-11120
- SecurityWeek - Chrome 149 Patches 429 Vulnerabilities
- Forbes - Chrome 149 Fixes 429 Security Flaws, 22 Critical
- Chrome Enterprise - Manage Reporting Connectors
- Theori - Cleanly Escaping the Chrome Sandbox
- OSV - DEBIAN-CVE-2026-11120
Why this verdict
- Renderer compromise prerequisite is a full exploit chain unto itself. The CVSS vector rates
AC:Lbut the attacker needs a separate, independent vulnerability to compromise the renderer *before* CVE-2026-11120 becomes exploitable. Modern Chrome renderer exploits require 2+ bugs (V8 heap corruption + Ubercage bypass) and cost $500K–$3.5M on the broker market. This is not 'low complexity.' - Chromium's own team rates this Medium, not Critical. Google's Project Zero and Chrome Security team invented the modern browser sandbox model. When they rate their own sandbox escape bug as Medium, that assessment carries more signal than a mechanical CVSS calculation that ignores chaining prerequisites.
- Zero exploitation evidence across all indicators. No KEV listing, no ITW reports, no public PoC, EPSS at 18th percentile (0.27%). Nearly four months post-disclosure with no movement toward weaponization.
- Role multiplier: Chrome is an endpoint application, not a high-value infrastructure component. Chrome does not run as a domain controller, hypervisor, CI/CD server, identity provider, or network edge appliance. Even a fully successful exploit chain (renderer compromise → this sandbox escape) yields code execution on a *single endpoint* at user privilege level. The blast radius is host-level, not domain/fleet/supply-chain scale. No floor override applies. Chrome on an admin workstation increases *consequence* but that's true of any endpoint RCE — it doesn't make this CVE's inherent severity higher.
- Friction compounds across the chain. Delivery requires social engineering past email gateways and URL filters. Renderer exploitation must defeat V8 sandbox, MiraclePtr, heap partitioning, and CFI. Sandbox escape must bypass CIG, ACG, ASLR, and DEP. EDR detects anomalous browser-process behavior. Each layer independently reduces the exploitable population.
Why not higher?
Upgrading to HIGH would require either active exploitation evidence, a public PoC lowering the attacker bar, or the affected component being a canonically high-value infrastructure role. None of these conditions are met. Chrome is a user-facing browser; even successful exploitation compromises a single endpoint at user privilege. The three-stage chain (renderer compromise → IPC abuse → sandbox escape) with no public tooling makes mass exploitation implausible.
Why not lower?
Dropping to LOW or IGNORE would undercount the strategic value of sandbox escapes to APT actors. While the chain is expensive, it *is* technically sound — a well-resourced adversary with a renderer exploit gains meaningful capability from this bug. Chrome's installed base is enormous (~3.5 billion users), and the Enterprise Reporting component ships in all desktop builds. The vulnerability is real and the patch is straightforward; it deserves normal patching-cycle priority, not dismissal.
Crowdsourced verification payload.
Run on each target Windows host — no elevated privileges required. Execute via powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-11120.ps1 or push via SCCM/Intune. For Linux hosts, check google-chrome --version against 149.0.7827.53.
#Requires -Version 5.1
<# CVE-2026-11120 - Chrome Enterprise Reporting Sandbox Escape
Checks installed Chrome version against fixed build 149.0.7827.53.
Exit 0 = PATCHED, Exit 1 = VULNERABLE, Exit 2 = UNKNOWN #>
$FixedVersion = [version]'149.0.7827.53'
$RegPaths = @(
'HKLM:\SOFTWARE\Google\Chrome\BLBeacon',
'HKLM:\SOFTWARE\WOW6432Node\Google\Chrome\BLBeacon',
'HKCU:\SOFTWARE\Google\Chrome\BLBeacon'
)
$Found = $false
foreach ($p in $RegPaths) {
if (Test-Path $p) {
$v = (Get-ItemProperty $p -ErrorAction SilentlyContinue).version
if ($v) {
$Found = $true
try {
$Installed = [version]$v
} catch {
Write-Output "UNKNOWN - Could not parse Chrome version: $v"
exit 2
}
if ($Installed -ge $FixedVersion) {
Write-Output "PATCHED - Chrome $v >= $FixedVersion (CVE-2026-11120 fixed)"
exit 0
} else {
Write-Output "VULNERABLE - Chrome $v < $FixedVersion (CVE-2026-11120 applies)"
exit 1
}
}
}
}
# Fallback: check chrome.exe file version directly
$ExePaths = @(
"$env:ProgramFiles\Google\Chrome\Application\chrome.exe",
"${env:ProgramFiles(x86)}\Google\Chrome\Application\chrome.exe",
"$env:LOCALAPPDATA\Google\Chrome\Application\chrome.exe"
)
foreach ($exe in $ExePaths) {
if (Test-Path $exe) {
$Found = $true
$fi = (Get-Item $exe).VersionInfo.ProductVersion
try {
$Installed = [version]$fi
} catch {
Write-Output "UNKNOWN - Could not parse Chrome exe version: $fi"
exit 2
}
if ($Installed -ge $FixedVersion) {
Write-Output "PATCHED - Chrome $fi >= $FixedVersion (CVE-2026-11120 fixed)"
exit 0
} else {
Write-Output "VULNERABLE - Chrome $fi < $FixedVersion (CVE-2026-11120 applies)"
exit 1
}
}
}
if (-not $Found) {
Write-Output "UNKNOWN - Google Chrome not detected on this host"
exit 2
}