← Back to Feed CACHED · 2026-05-17 09:42:19 · cache_key CVE-2025-29912
CVE-2026-10971 · CWE-20 · Disclosed 2026-06-04

Insufficient validation of untrusted input in Printing in Google Chrome on Windows prior to 149

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
01 · The Real Story

This is a burglar already inside the hotel room finding the service door into the staff corridor

The public record points to an *improper input validation* bug in Chrome's Windows printing path affecting versions prior to 149.0.7827.53. The title supplied in your intel is truncated, but the surrounding Chrome 149 records and Google's normal wording strongly suggest this is a post-renderer-compromise bug in the print/broker boundary on Windows, meaning the attacker still needs to get code or control inside the renderer first and then use printing to cross into a more privileged context.

That is why the vendor's CRITICAL 9.6 feels too hot in operational terms. A browser sandbox escape on a ubiquitous client is never trivial, but once a CVE requires a prior renderer compromise, it stops being a clean initial-access bug and becomes a *chain component*; that sharply reduces reachable population and makes modern controls like browser isolation, EDR, and fast Chrome auto-update much more relevant.

"This is a valuable Chrome escape hatch, but it looks like a post-renderer chain step, not a one-bug internet-to-host smash."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Land the lure with a crafted HTML page

The attacker needs the victim to browse attacker-controlled or compromised web content. The page must steer execution toward a renderer bug or other renderer compromise path before this CVE matters at all. Tooling: malicious landing page / exploit kit logic.
Conditions required:
  • Victim runs Chrome on Windows below 149.0.7827.53
  • Victim visits attacker-controlled or attacker-influenced content
  • Chrome rendering pipeline reaches the prerequisite bug chain
Where this breaks in practice:
  • This CVE does not appear to be first-stage by itself
  • URL filtering, Safe Browsing, email/web gateways, and browser isolation can break the lure stage
  • User interaction is required
Detection/coverage: Web proxy, SWG, DNS filtering, and browser telemetry can usually see the lure domain or malicious content delivery; vulnerability scanners cannot prove exploitation from the network.
STEP 02

Compromise the renderer first

Based on the truncated title plus adjacent Chrome 149 records, the decisive prerequisite is a compromised renderer process. In practice that means the attacker already exploited a separate memory corruption, logic flaw, or browser content bug and now controls code execution inside Chrome's low-privilege sandbox. Tooling: separate renderer exploit chain.
Conditions required:
  • A second vulnerability or exploit primitive achieves renderer compromise
  • Exploit reliability is high enough on the victim's build and platform
Where this breaks in practice:
  • This is a huge downgrade factor because it assumes the attacker has already cleared a major security boundary
  • Exploit chaining raises complexity and lowers commodity abuse
  • Patching the companion renderer bug collapses the chain
Detection/coverage: EDR, browser crash telemetry, exploit protection, and sandbox anomaly detections are the main defenders here; standard remote scanners have no visibility into this step.
STEP 03

Pivot into the Windows printing boundary

With renderer control, the attacker drives Chrome's printing functionality using crafted inputs that reach a more trusted print-related path on Windows. This is where the insufficient validation matters: untrusted renderer-originated data is allegedly not checked strongly enough before crossing into a higher-trust component. Tooling: renderer-side IPC abuse of print workflow.
Conditions required:
  • The vulnerable Windows print code path is reachable from the compromised renderer
  • The target host permits the necessary Chrome print/broker interactions
Where this breaks in practice:
  • Windows-only scope narrows the blast radius versus all-desktop Chrome
  • Printing path may not be exercised in every browsing session
  • Enterprise hardening, broker restrictions, or browser isolation can reduce reliability
Detection/coverage: Very little commodity scanner coverage. You need endpoint telemetry around chrome.exe, child processes, unusual print-related broker activity, and crash/exception patterns.
STEP 04

Break the sandbox and reach host impact

If the chain succeeds, the attacker turns a sandboxed renderer foothold into a more serious host-level compromise path on Windows. That is the real danger: this CVE is the part that can convert a browser content exploit into endpoint impact. Tooling: post-escape payload / broker abuse / follow-on stager.
Conditions required:
  • Successful print-path boundary crossing
  • Follow-on payload survives local defenses
Where this breaks in practice:
  • EDR can still catch payload staging or anomalous child-process behavior after the escape
  • No public exploitation evidence reviewed, so operator tradecraft and reliability remain uncertain
Detection/coverage: Look for suspicious process trees from Chrome, unusual DLL loads, blocked exploit mitigations, and EDR alerts on browser-origin execution.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo CISA KEV listing and no public exploitation evidence surfaced in the sources reviewed as of 2026-06-05.
PoC availabilityNo public PoC located in reviewed sources. The Chromium bug reference appears restricted, which usually slows copycat weaponization.
EPSS0.00047 from your intel block — effectively very low near-term exploitation probability.
KEV statusNot listed in CISA KEV as of 2026-06-05.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H from the vendor block says *internet-reachable with user interaction and full impact*, but that overstates the real chain if renderer compromise is truly required first.
Affected versionsChrome on Windows prior to 149.0.7827.53 per your supplied intel; broader Chrome 149 advisories confirm the June 2026 desktop train.
Fixed versionUpgrade Windows Chrome to 149.0.7827.53 or later. Google also shipped 149.0.7827.53/.54 across desktop release channels during the same advisory window.
Exposure profileThis is a client-side browser flaw, not an internet-facing service. Shodan/Censys-style exposure counting is largely *not applicable*; reachable population is defined by *users browsing hostile content on Windows Chrome*, not open ports.
Disclosure date2026-06-04 in your supplied intel; Canada references Google's advisory published 2026-06-02, with public government alerts on 2026-06-03 and 2026-06-05.
Researcher / reporterNo public researcher attribution found in reviewed sources for this specific CVE. The issue link is restricted, so reporter details are not publicly confirmed.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to HIGH (7.0/10)

The single biggest downgrade driver is that this appears to require a prior renderer compromise, which makes it a second-stage chain component rather than a standalone browser-to-OS break. It stays HIGH because Chrome on Windows is everywhere, and a working sandbox escape is exactly the kind of primitive that turns a content bug into an endpoint incident.

MEDIUM Exploit-chain characterization as a post-renderer-compromise boundary-crossing bug
HIGH Affected version and fixed-version timing around the Chrome 149 desktop release
HIGH Downgrade pressure from lack of KEV listing, lack of public PoC, and very low EPSS

Why this verdict

  • Start at vendor 9.6: if this were truly a one-bug remote browser-to-host break on ubiquitous Chrome, CRITICAL would be fair.
  • Down for attacker position: the available wording strongly implies the attacker must *already have compromised the renderer process*; that means this CVE is not initial access, it is a *post-compromise escape step*.
  • Down for reachable population: Windows-only scope and a print-path dependency reduce the fraction of real sessions that can actually drive the vulnerable code path reliably.
  • Down for threat evidence: no KEV listing, no public PoC found, and EPSS 0.00047 argue against immediate mass exploitation pressure.
  • Not below HIGH: when this kind of flaw is chainable, the blast radius is still endpoint-level because it can collapse Chrome's sandbox boundary on a very widely deployed client.

Why not higher?

I am not keeping this at CRITICAL because the hardest step in the chain appears to happen *before* this CVE becomes relevant: the attacker must first own or meaningfully control the renderer. That prerequisite compounds with Windows-only scope and no current exploitation evidence, which is too much friction for a top bucket.

Why not lower?

I am not dropping this to MEDIUM because browser sandbox escapes are premium exploit-chain components, and Chrome on Windows is a massive enterprise population. Once paired with any renderer bug or malicious extension foothold, the outcome can jump from browser-only compromise to host impact quickly.

05 · Compensating Control

What to do — in priority order.

  1. Force Chrome auto-update and relaunch — Use enterprise policy or endpoint management to push Chrome to 149.0.7827.53+ and force a relaunch on Windows systems; for a HIGH verdict, deploy this control within 30 days if patch completion is not immediate.
  2. Isolate high-risk browsing — Put admins, finance, developers, and other high-target users behind browser isolation or remote browsing where available. This is the best interim control when the bug is web-delivered but not directly network-scannable; deploy within 30 days.
  3. Constrain Chrome child-process execution — Harden chrome.exe through EDR policy, Attack Surface Reduction, WDAC/AppLocker, or equivalent so a successful sandbox escape has fewer post-exploitation options. This does not fix the bug, but it raises the cost of turning the escape into durable endpoint compromise; deploy within 30 days.
  4. Prioritize laggards and unmanaged Windows endpoints — Find systems with disabled Chrome auto-update, kiosk builds, VDI gold images, and persistent-session endpoints. Those are where a client-side browser flaw stays alive longest; put them under compensating restrictions within 30 days.
What doesn't work
  • A perimeter IPS/WAF will not reliably save you here because the vulnerable component is the *client browser's local print path*, not a server listening on the internet.
  • External exposure scanning is mostly useless for prioritization because there is no open service banner that proves a workstation's Chrome patch level.
  • Telling users not to print is weak control theater unless you can technically enforce browser isolation or browser policy; attacker-controlled content can still try to reach the code path.
  • Antivirus alone is not enough because the dangerous moment is the browser boundary crossing, not just the final payload on disk.
06 · Verification

Crowdsourced verification payload.

Run this on the target Windows endpoint or via your RMM/EDR live response shell. Invoke with powershell.exe -ExecutionPolicy Bypass -File .\Test-Chrome-CVE-2026-10971.ps1; standard user rights are usually enough because it reads file and registry version data only.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#requires -version 5.1
<#
Test-Chrome-CVE-2026-10971.ps1
Checks Google Chrome on Windows against the fixed version for CVE-2026-10971.
Outputs one of: VULNERABLE / PATCHED / UNKNOWN
Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN
#>

$FixedVersion = [version]'149.0.7827.53'

function Get-ChromeVersion {
    $paths = @(
        "$Env:ProgramFiles\Google\Chrome\Application\chrome.exe",
        "$Env:ProgramFiles(x86)\Google\Chrome\Application\chrome.exe",
        "$Env:LocalAppData\Google\Chrome\Application\chrome.exe"
    )

    foreach ($p in $paths) {
        if (Test-Path $p) {
            try {
                $fv = (Get-Item $p).VersionInfo.FileVersion
                if ($fv) {
                    return [PSCustomObject]@{ Source = $p; Version = $fv }
                }
            } catch {}
        }
    }

    $regPaths = @(
        'HKLM:\SOFTWARE\Google\Chrome\BLBeacon',
        'HKLM:\SOFTWARE\WOW6432Node\Google\Chrome\BLBeacon',
        'HKCU:\SOFTWARE\Google\Chrome\BLBeacon'
    )

    foreach ($rp in $regPaths) {
        try {
            $item = Get-ItemProperty -Path $rp -ErrorAction Stop
            if ($item.version) {
                return [PSCustomObject]@{ Source = $rp; Version = $item.version }
            }
        } catch {}
    }

    return $null
}

function Normalize-Version([string]$v) {
    try {
        return [version]$v
    } catch {
        return $null
    }
}

$chrome = Get-ChromeVersion
if (-not $chrome) {
    Write-Output 'UNKNOWN: Google Chrome not found via common file paths or BLBeacon registry keys.'
    exit 2
}

$installed = Normalize-Version $chrome.Version
if (-not $installed) {
    Write-Output ("UNKNOWN: Found Chrome version string '{0}' from {1}, but could not parse it." -f $chrome.Version, $chrome.Source)
    exit 2
}

if ($installed -lt $FixedVersion) {
    Write-Output ("VULNERABLE: Google Chrome {0} detected at {1}; fixed version is {2} or later." -f $installed, $chrome.Source, $FixedVersion)
    exit 1
} else {
    Write-Output ("PATCHED: Google Chrome {0} detected at {1}; meets or exceeds fixed version {2}." -f $installed, $chrome.Source, $FixedVersion)
    exit 0
}
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: pull an inventory of Windows endpoints running Chrome below 149.0.7827.53, then force Chrome update-and-relaunch across the managed fleet and put any laggards or exception users behind browser isolation / tighter Chrome execution controls. For this HIGH reassessment there is a noisgate mitigation SLA of 30 days for interim controls, and a noisgate remediation SLA of 180 days to get the actual vendor patch everywhere; in practice, because this is a browser and auto-update exists, you should close the bulk of exposure well before those outer limits.

Sources

  1. Google Chrome Releases - Early Stable Update for Desktop
  2. Google Chrome Releases - Stable Channel Update for Desktop
  3. Canadian Centre for Cyber Security advisory AV26-544
  4. GovCERT.HK Security Alert A26-06-08
  5. FIRST EPSS API documentation
  6. FIRST EPSS query endpoint for this CVE
  7. CISA Known Exploited Vulnerabilities Catalog
  8. NVD reference pattern: Chrome 149 post-renderer sandbox escape record
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.