This is a spare key hidden under the mat, not a burglar kicking in the front door
CVE-2026-11103 is a Windows-only Google Chrome Installer flaw affecting versions prior to 149.0.7827.53. The bug lets a local attacker use a malicious file to cross an OS privilege boundary, so the end state is meaningful: code that started at normal user level may end up with elevated rights on the host.
The vendor-style HIGH/7.3 label overstates patch urgency for enterprise triage because the attacker does not get in from the network. They need a local foothold, a logged-in user context, and user interaction with a malicious file first. That makes this a post-initial-access privilege-escalation assist, not an internet-exposed emergency, so the operational severity drops to MEDIUM even though the technical impact is serious when it lands.
4 steps from start to impact.
Land on the endpoint first
- Windows endpoint
- Chrome installed below
149.0.7827.53 - Attacker has local standard-user execution or a user account
- This is not reachable from the internet
- Email gateway, web filtering, SmartScreen, and EDR should stop many initial payloads before this CVE matters
- If the attacker already has local execution, they often have multiple other privesc options
Deliver the malicious file trigger
UI:R, which means the victim has to open, run, or otherwise interact with attacker-controlled content. The weaponized tool is effectively a custom trigger file plus launcher, and as of this review no public GitHub PoC is established. This is a narrower path than a silent memory-corruption bug in the browser renderer.- User interaction with attacker-supplied file
- Ability to place or download file onto disk
- Mark-of-the-Web, SmartScreen, attachment controls, and browser download protections add real drag
- Users must still execute or interact with the file path that reaches the vulnerable installer behavior
Downloads, %TEMP%, or %LOCALAPPDATA%.Abuse the installer privilege boundary
- Vulnerable Chrome version
- Windows installer path present and reachable
- Exploit compatible with the target's local configuration
- Restricted bug details make exploit engineering harder for opportunistic actors
- Installer-context flaws are often sensitive to path, ACL, race, or environment assumptions that break on real fleets
- Some estates rely on managed enterprise installs that reduce odd installer invocation patterns
Cash out with elevated execution
- Exploit completes reliably
- Elevated token or privileged process is obtained
- EDR tamper protection, WDAC/AppLocker, and least-privilege controls can still limit what the attacker does next
- A local privesc only expands impact on that host; it does not automatically become domain-wide compromise
The supporting signals.
| In-the-wild status | No current public exploitation evidence in this review. CISA KEV does not list the CVE, and the CVE enrichment visible via CIRCL shows Exploitation: none. |
|---|---|
| Proof-of-concept availability | No public GitHub PoC established from the sources reviewed. The Chromium bug reference exists, but details appear restricted. |
| EPSS | 0.00008 from the user-supplied intel block — effectively very low predicted near-term exploitation. Percentile was not authoritatively verified in this review, so do not overfit on an inferred rank. |
| KEV status | Not listed in the CISA Known Exploited Vulnerabilities Catalog as of this assessment. |
| CVSS vector | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H — that is a local, authenticated, user-assisted privesc with high impact on success, which is exactly why raw CVSS overstates urgency for fleet patch queues. |
| Affected versions | Google Chrome on Windows prior to 149.0.7827.53. The June 2, 2026 Stable release notes show 149.0.7827.53/54 for Windows/Mac and 149.0.7827.53 for Linux, but this CVE is Windows-specific. |
| Fixed version | Patch level: 149.0.7827.53 or later on Windows. Enterprise estates pinned below that build remain exposed until the pin is lifted or the baseline is advanced. |
| Scanning / exposure data | Internet exposure is not the story. This is a local installer flaw, so Shodan/Censys/FOFA-style internet census data is largely irrelevant; the useful exposure metric is simply how many Windows endpoints still run Chrome below the fixed version. |
| Disclosure timeline | Stable release published 2026-06-02; CVE publication in the Chrome/CVE ecosystem shows 2026-06-04. Google also pushed an early stable build to a small percentage of users on 2026-05-29. |
| Reporter / bug class | Chrome release notes mark the issue as reported by Google on 2026-04-07 and label it Chromium security severity: Medium, even though the supplied CVSS baseline is 7.3 High. |
noisgate verdict.
The decisive downward pressure is attacker position: this starts only after the adversary already has a local foothold or a user willing to run a malicious file on a Windows host. That makes it a post-compromise privilege-escalation enabler rather than an initial-access event, despite the fact that successful exploitation can yield serious OS-level impact.
Why this verdict
- Down from 7.3 because attacker position is already inside the host —
AV:L+PR:Lmeans the adversary needs local execution or a valid user context first, which implies prior compromise or insider access - Another notch down because user interaction is required —
UI:Rplus a malicious file means this is not a silent drive-by or wormable browser bug - Narrower reachable population than generic Chrome RCE — Windows-only installer path, not Linux/macOS/Android, and only endpoints still below
149.0.7827.53are in play - Threat intel is cold — no KEV listing, no public exploitation evidence surfaced here, no confirmed public PoC, and EPSS is extremely low
- But not low/ignore — Chrome is ubiquitous, and local privesc on a browser-heavy Windows fleet still meaningfully amplifies commodity malware once it gets a foothold
Why not higher?
This is not remotely reachable and does not give an attacker a beachhead by itself. Modern enterprise controls should block many chains before the malicious file ever reaches a vulnerable installer path, and even after initial access the exploit still has to work reliably on the endpoint.
Why not lower?
Privilege escalation still matters because it converts cheap user-level access into something with much higher host impact. On a large Windows estate, even a medium-confidence local privesc in a ubiquitous product can materially improve attacker survivability and follow-on abuse once another entry vector succeeds.
What to do — in priority order.
- Block execution from user-writable paths — Use WDAC, AppLocker, or SRP to prevent executables, scripts, and MSI-like launch paths from
Downloads,%TEMP%,%APPDATA%, and other user-writable locations. This directly attacks the malicious-file prerequisite and is worth doing now; for a MEDIUM finding there is no noisgate mitigation SLA — go straight to the 365-day remediation window, but this hardening should still be standard baseline hygiene. - Keep Chrome auto-update enabled — Review Chrome Enterprise update policy and remove version pins or disabled-update settings that strand devices below
149.0.7827.53. Google recommends automatic updates; for this MEDIUM verdict there is no mitigation SLA, so use normal change control while making sure the estate naturally converges on the fixed build well inside the remediation window. - Alert on abnormal Chrome installer activity — Create EDR detections for Chrome or Google Update installer components spawning shells, script hosts, LOLBINs, or writing into protected locations. This does not replace patching, but it raises the cost of using the bug for local privesc while vulnerable versions still exist.
- Reduce standing local admin and installer abuse paths — Enforce least privilege, tighten software installation rights, and review installer-related allow rules that give normal users too much leverage. That limits the blast radius if an attacker tries to turn a user-context foothold into elevated execution through any local installer bug, not just this one.
- A WAF or perimeter IPS does not help; this is a local installer bug, not a network-facing exploit path
- MFA is not a direct control for this CVE once an attacker already has local execution on the endpoint
- External attack-surface scanning is mostly noise here because Shodan/Censys-style internet discovery cannot tell you whether the vulnerable local installer path is present or reachable
Crowdsourced verification payload.
Run this on the target Windows endpoint or through your RMM/EDR live response console. Invoke it with powershell.exe -ExecutionPolicy Bypass -File .\check-chrome-cve-2026-11103.ps1; standard user rights are usually enough to read file versions, but admin rights help if you want complete visibility into all install locations. The script reports VULNERABLE, PATCHED, or UNKNOWN based on installed Chrome version compared with the fixed build 149.0.7827.53.
#requires -version 5.1
<#
check-chrome-cve-2026-11103.ps1
Purpose: Detect likely exposure to CVE-2026-11103 by checking installed Google Chrome
versions on Windows against fixed version 149.0.7827.53.
Output : VULNERABLE / PATCHED / UNKNOWN
Exit codes:
0 = PATCHED
1 = VULNERABLE
2 = UNKNOWN
#>
$ErrorActionPreference = 'SilentlyContinue'
$FixedVersion = [version]'149.0.7827.53'
$Found = @()
function Get-VersionObject {
param([string]$VersionString)
if ([string]::IsNullOrWhiteSpace($VersionString)) { return $null }
$clean = ($VersionString -replace '[^0-9\.]', '').Trim('.')
try { return [version]$clean } catch { return $null }
}
function Add-Candidate {
param([string]$Path)
if (-not [string]::IsNullOrWhiteSpace($Path) -and (Test-Path $Path)) {
$item = Get-Item $Path
$ver = Get-VersionObject $item.VersionInfo.ProductVersion
if (-not $ver) { $ver = Get-VersionObject $item.VersionInfo.FileVersion }
if ($ver) {
$Found += [pscustomobject]@{
Path = $Path
Version = $ver
}
}
}
}
# Common install locations
$Candidates = @(
"$env:ProgramFiles\Google\Chrome\Application\chrome.exe",
"$env:ProgramFiles(x86)\Google\Chrome\Application\chrome.exe",
"$env:LocalAppData\Google\Chrome\Application\chrome.exe"
)
foreach ($c in $Candidates) { Add-Candidate -Path $c }
# App Paths registry
$appPathKeys = @(
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe',
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe'
)
foreach ($key in $appPathKeys) {
$defaultPath = (Get-ItemProperty -Path $key).'(default)'
if (-not $defaultPath) { $defaultPath = (Get-Item -Path $key).GetValue('') }
Add-Candidate -Path $defaultPath
}
# Deduplicate by path
$Found = $Found | Sort-Object Path -Unique
if (-not $Found -or $Found.Count -eq 0) {
Write-Output 'UNKNOWN - Google Chrome not found in standard locations'
exit 2
}
$Vulnerable = $Found | Where-Object { $_.Version -lt $FixedVersion }
if ($Vulnerable) {
$details = ($Vulnerable | ForEach-Object { "$($_.Path) [$($_.Version)]" }) -join '; '
Write-Output "VULNERABLE - Found Chrome version(s) below $FixedVersion : $details"
exit 1
}
else {
$details = ($Found | ForEach-Object { "$($_.Path) [$($_.Version)]" }) -join '; '
Write-Output "PATCHED - All discovered Chrome version(s) are >= $FixedVersion : $details"
exit 0
}
If you remember one thing.
149.0.7827.53, remove any enterprise version pins or disabled-update policies, and fold remaining laggards into your normal browser patch wave. For a MEDIUM verdict there is no noisgate mitigation SLA — go straight to the 365-day remediation window; your noisgate remediation SLA is ≤365 days for the actual vendor patch, but most mature shops should clear browser stragglers far sooner because the same old endpoints usually also carry other post-compromise risk.Sources
- Google Chrome Releases - Stable Channel Update for Desktop (June 2, 2026)
- Google Chrome Releases - Early Stable Update for Desktop (May 29, 2026)
- Chromium issue reference 500483038
- CISA Known Exploited Vulnerabilities Catalog
- FIRST EPSS overview
- Chrome Enterprise - Manage Chrome updates
- Chrome Enterprise - Manage Chrome updates (Windows)
- Google Chrome Help - Update Google Chrome
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.