A phishing lure dressed up as a legitimate installable web app
CVE-2026-14138 is an *inappropriate implementation* in Chrome's WebAppInstalls component — the subsystem that handles installable PWAs and the install/launch prompts. Per the advisory, versions of Chrome on Windows prior to 150.0.7871.47 rendered install-related UI in a way that a crafted page could exploit to mislead a user (CWE-451: User Interface (UI) Misrepresentation of Critical Information). No memory corruption, no sandbox escape — the payoff is a spoofed prompt that could trick a user into installing or launching something they didn't intend.
Google labels this MEDIUM (4.2) and the CVSS vector AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L matches the reality: network reachable, but high attack complexity, user interaction required, and impact capped at *low integrity / low availability, zero confidentiality*. In a fleet of 10,000 hosts running Chrome auto-update, this is a backlog item, not a fire. The vendor rating is honest; if anything real-world friction pushes it lower.
4 steps from start to impact.
Attacker hosts a crafted page
beforeinstallprompt handling or a manifest with attacker-chosen name/icons/start_url so the resulting Chrome install UI misrepresents origin or intent. Weaponization is essentially a static HTML+manifest payload; no CVE-specific exploit kit is required, just knowledge of the flawed UI path.- Attacker-controlled domain reachable from the victim
- Understanding of the specific
WebAppInstallsUI misrender path
AC:H— the misrepresentation only fires under specific manifest/timing conditions- Modern secure web gateways categorize newly-registered domains and block them
Lure the user to the page
- A working delivery channel (email, ad, redirect)
- Chrome on Windows as the victim browser
- Email security (Proofpoint, Mimecast, M365 Defender) strips or sandboxes the link
- SmartScreen and Google Safe Browsing block known-bad reputations
User interacts with the spoofed install prompt
- Victim clicks through the prompt
- No enterprise policy blocking PWA install
WebAppInstallForceList/DefaultWebAppSettingsenterprise policies can disable installs entirely- Trained users increasingly ignore install prompts from unknown sites
Post-install abuse
- Victim launches the installed PWA later
- Follow-on phishing infrastructure ready
- IdP MFA (FIDO2/WebAuthn) neutralizes credential replay
- Conditional access blocks unknown-device sign-ins
chrome.exe --app-id= launches.The supporting signals.
| In-the-wild status | No known exploitation. Not listed in CISA KEV as of 2026-07-01. |
|---|---|
| Public PoC | None published on GitHub or exploit-db at time of assessment; Chromium bug tracker entry likely still restricted under Google's standard 14-week disclosure embargo. |
| EPSS | Expected <0.5% — CWE-451 UI-spoofing Chrome bugs historically score in the bottom decile of EPSS. |
| KEV status | Not listed. |
| CVSS v3.1 vector | AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L → network, high complexity, user interaction required, no confidentiality impact. |
| Affected versions | Google Chrome on Windows prior to 150.0.7871.47. Chromium-derived browsers (Edge, Brave, Opera, Vivaldi) inherit until they merge the upstream fix. |
| Fixed version | Chrome 150.0.7871.47 (Stable channel, released 2026-06-30). |
| Exposure telemetry | Chrome auto-update reaches ~95% of managed installs within 7 days per Google's own release telemetry — the exposed population decays fast without operator action. |
| Disclosure date | 2026-06-30 via Chrome Stable channel update advisory. |
| Reporter | Credited external researcher per Google's advisory (name typically withheld pre-embargo). |
noisgate verdict.
The single decisive factor is impact ceiling: the CVSS vector caps damage at low integrity / low availability with zero confidentiality impact, and the affected component is a user-space browser UI element — not an identity, hypervisor, or kernel-mode role. Chrome's silent auto-update further collapses the exposed population within days, so this belongs in the backlog-hygiene tier.
Why this verdict
- Impact ceiling is trivial —
C:N/I:L/A:L. No code execution, no data theft, no privilege escalation. Worst case is a user tricked into installing a fake PWA that facilitates *follow-on* phishing already covered by other controls. - High attack complexity —
AC:Hcombined withUI:Rmeans the attacker needs both a specific technical condition and a duped user. Two compounding friction points. - Role multiplier: workstation only. Chrome runs on user endpoints; there is no domain-controller, hypervisor, IdP, PAM, or backup-admin variant of this bug. The blast radius is capped at the single user's browser session — no fleet, tenant, or domain pivot. Floor stays at LOW.
- Auto-update is the world's largest compensating control for Chrome. Enterprises on Chrome Browser Cloud Management or default Windows Update-for-Business channels will be patched before most teams finish reading the advisory.
- Compensating tooling is dense — Safe Browsing, SmartScreen, secure web gateway URL filtering, email link rewriting, MFA/FIDO2, and existing user phishing training all sit in the attack path.
Why not higher?
MEDIUM would be defensible if the impact vector included confidentiality or if there were an unpatched-population signal. Neither exists: the vector is C:N and auto-update rapidly drains exposure. Nothing in the chain terminates in a fleet-scale outcome.
Why not lower?
IGNORE is wrong because the bug is real, present in an internet-exposed attack surface (the browser), and phishing chains that end in credential theft do use trust-shifting UI tricks like this. It deserves the standard backlog patch, not a rationale-only dismissal.
What to do — in priority order.
- Let Chrome auto-update do its job — Confirm ChromeAutoUpdate and UpdateDefault GPO/registry settings are enabled fleet-wide; verify Chrome Browser Cloud Management reporting shows >95% of hosts on
150.0.7871.47or later within 14 days. LOW verdict has no mitigation SLA — you have the full 365-day remediation window, but auto-update should close this in a week regardless. - Restrict PWA installation via enterprise policy — Set
DefaultWebAppSettingstoblock_installor useWebAppInstallForceListto allow-list only approved PWAs. Deployed via GPO/MDM this neutralizes the exploit's payoff even on unpatched hosts. - Enforce Safe Browsing Enhanced Protection — Push
SafeBrowsingProtectionLevel=2via Chrome policy. Google's Safe Browsing catches the phishing lure well before the WebAppInstalls UI ever renders. - Confirm FIDO2/WebAuthn on identity provider — Since the terminal harm is credential-phishing amplification, phishing-resistant MFA (Okta FastPass, Entra passkeys, YubiKey) means a spoofed PWA cannot cash out into an account takeover.
- EDR alone — process telemetry does not detect a legitimate
chrome.exerendering a misleading install prompt. There's no malicious binary to flag. - Network IDS signatures — the payload is HTML + a web manifest over TLS; nothing on the wire distinguishes benign PWA install traffic from the exploit.
- Blocking Chrome entirely — Chromium-derived browsers (Edge, Brave, Opera) inherit the flaw until upstream merges land. Swapping browsers doesn't fix it.
Crowdsourced verification payload.
Run on any Windows host as a standard user (elevation not required). Example: .\Check-CVE-2026-14138.ps1. Detects installed Chrome version across per-user and per-machine install paths and compares to the fixed build 150.0.7871.47.
#Requires -Version 5.0
# Check-CVE-2026-14138.ps1
# Detects Google Chrome versions vulnerable to CVE-2026-14138 (WebAppInstalls UI spoof)
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN/NotInstalled
$fixed = [Version]'150.0.7871.47'
$paths = @(
"$env:ProgramFiles\Google\Chrome\Application\chrome.exe",
"${env:ProgramFiles(x86)}\Google\Chrome\Application\chrome.exe",
"$env:LOCALAPPDATA\Google\Chrome\Application\chrome.exe"
)
$found = $false
$vuln = $false
foreach ($p in $paths) {
if (Test-Path $p) {
$found = $true
try {
$v = [Version](Get-Item $p).VersionInfo.ProductVersion
Write-Host "[+] Chrome found at $p -> $v"
if ($v -lt $fixed) {
Write-Host " VULNERABLE (fixed in $fixed)" -ForegroundColor Red
$vuln = $true
} else {
Write-Host " PATCHED" -ForegroundColor Green
}
} catch {
Write-Host "[!] Could not parse version at $p" -ForegroundColor Yellow
}
}
}
if (-not $found) {
Write-Host 'UNKNOWN: Google Chrome not installed on this host'
exit 2
}
if ($vuln) { Write-Host 'VULNERABLE'; exit 1 }
Write-Host 'PATCHED'; exit 0
If you remember one thing.
150.0.7871.47. This is a LOW verdict — per the noisgate mitigation SLA there is no mitigation deadline (go straight to the noisgate remediation SLA window of ≤365 days), but auto-update will close this within 7-14 days without operator action. Spend the saved cycles pushing SafeBrowsingProtectionLevel=2 and locking down DefaultWebAppSettings via policy — those controls defang an entire class of PWA-based phishing, not just this one CVE.Sources
- Chrome Releases – Stable Channel Update for Desktop
- NVD entry for CVE-2026-14138
- CWE-451: User Interface (UI) Misrepresentation of Critical Information
- Chromium Issue Tracker (embargoed bugs list)
- Chrome Enterprise policy: DefaultWebAppSettings
- Chrome Enterprise policy: SafeBrowsingProtectionLevel
- CISA Known Exploited Vulnerabilities Catalog
- FIRST EPSS scoring model
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.