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

Insufficient validation of untrusted input in Glic in Google Chrome prior to 149

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

This is a second lock on an inner office door, not a hole in the building’s front wall

CVE-2026-11027 is an input-validation flaw in Chrome's Glic component affecting builds before 149.0.7827.53 on Linux and 149.0.7827.53/.54 on Windows and macOS. Based on the vendor wording you supplied and Chrome's architecture, the realistic abuse case is not a clean one-bug drive-by; it is a browser-boundary weakness that becomes useful *after* an attacker has already gained control of a less-privileged browser context such as the renderer and can then push crafted input into a more-privileged Chrome component.

Google's MEDIUM/6.5 label is defensible in CVSS terms because Chrome is everywhere and the confidentiality impact could be meaningful. But for patch-priority in a 10,000-host enterprise, it overstates the operational urgency: the decisive friction is that the attacker likely needs a prior renderer compromise or equivalent browser foothold, which makes this a *chain multiplier* rather than an *initial access primitive*.

"This is a post-renderer-compromise browser escape edge case, not a frontline enterprise fire drill."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Land the user on attacker content

The attacker needs the victim to browse a crafted page, likely delivered through phishing, malvertising, or a compromised site. On its own, that page is not the whole win; it is only the delivery surface into Chrome's untrusted renderer path.
Conditions required:
  • User must open attacker-controlled web content
  • Chrome version must be below the fixed build
Where this breaks in practice:
  • User interaction is required (UI:R)
  • Safe Browsing, DNS filtering, email controls, and ad blocking reduce reach
Detection/coverage: Web proxies, Secure Email Gateway telemetry, and browser history can usually show the lure path; vulnerability scanners only see installed version, not exploitability.
STEP 02

Gain renderer-level control with a separate bug

The practical attack chain almost certainly needs a second vulnerability or an already-compromised renderer context before Glic becomes useful. In Chrome's architecture, renderers are sandboxed and must use IPC to ask more-privileged processes to do sensitive work, so this step is the real gate.
Conditions required:
  • Attacker needs renderer compromise, malicious extension abuse, or an equivalent browser foothold
  • Target must not be fully protected by existing browser hardening and site isolation
Where this breaks in practice:
  • This is a *post-initial-browser-compromise* prerequisite
  • Modern exploit chains burn higher-value bugs here, which are scarcer than simple web lures
  • Crash telemetry, sandbox boundaries, and browser exploit mitigations raise cost
Detection/coverage: EDR and browser crash reporting may catch the renderer exploit stage; version scanners cannot validate this prerequisite.
STEP 03

Abuse Glic input validation across a trust boundary

With renderer control established, the attacker feeds crafted input into the Glic component and abuses insufficient validation to cross a browser trust boundary. The likely payoff is privileged data exposure or unauthorized access to information the renderer should not have been able to read directly.
Conditions required:
  • Glic code path must be reachable on the target build
  • The vulnerable IPC or browser-process interaction must be triggerable from the compromised context
Where this breaks in practice:
  • Glic is a niche component, not the broadest Chrome attack surface
  • Feature/rollout variation can reduce the reachable population
  • Impact appears limited to confidentiality, not full OS compromise
Detection/coverage: There is usually no signature-grade network detection here; browser forensic artifacts and anomaly hunting in Chrome logs are more realistic than perimeter IDS.
STEP 04

Exfiltrate the exposed data

Any stolen data still has to be sent out over normal browser traffic. The impact is real if the exposed content includes session material, cross-origin data, or assistant-side context, but it remains materially smaller than a clean remote code execution or sandbox escape to the host OS.
Conditions required:
  • Meaningful sensitive data must be present in the browser context
  • Outbound web traffic must be allowed
Where this breaks in practice:
  • Confidentiality-only impact narrows blast radius
  • Session protections, re-auth prompts, and DLP can limit usefulness of stolen data
Detection/coverage: CASB, proxy logs, DLP, and UEBA may catch unusual outbound transfers; there is no meaningful unauthenticated network scan for this stage.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo public evidence of active exploitation found as of 2026-06-05; not in CISA KEV.
PoC availabilityNo reliable public PoC located. Google typically withholds detailed bug links until enough users are patched, which is common for fresh Chrome fixes.
EPSS0.00047 from your intel — effectively background noise, consistent with a hard-to-weaponize chain step rather than a mass-exploited initial access bug.
KEV statusNot listed in the CISA Known Exploited Vulnerabilities Catalog as checked against the catalog page available now.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N — reads like a user-driven remote confidentiality issue, but CVSS does not capture the likely post-renderer-compromise prerequisite.
Affected versionsChrome desktop builds before 149.0.7827.53 on Linux and before 149.0.7827.53/.54 on Windows/macOS, per Google release posts for the 149 train.
Fixed versionsEarly Stable moved to 149.0.7827.53/.54 on 2026-05-29. Extended Stable for Windows/Mac was separately at 148.0.7778.254 on **2026-06-03`; validate whether your channel has absorbed the 149 fix yet.
Scanning / exposure realityInternet-exposure telemetry from Shodan/Censys/FOFA is not meaningful here because this is a client-side browser bug, not a server listening surface. The useful inventory question is *managed endpoint version coverage*, not *public-facing exposure count*.
Disclosure date2026-06-04 from your intel block.
Researcher / reporterUnknown publicly at this time. Fresh Chrome advisories often delay bug-detail publication until patch adoption improves.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (3.2/10)

The single most important factor is the likely attacker-position requirement: this bug appears useful only after the attacker already controls a less-privileged browser context such as the renderer. That makes it a chain hardener for sophisticated exploit development, not a broadly reachable first-hop enterprise compromise path.

HIGH No KEV listing / no public exploitation signal at reassessment time
MEDIUM Interpretation that real-world abuse requires prior renderer compromise or equivalent browser foothold
MEDIUM Exposure narrowing from `Glic` component reach and channel/feature variation

Why this verdict

  • Major downgrade: likely requires prior renderer compromise — in Chrome's security model, renderer processes are sandboxed and reach privileged functionality through IPC, so this reads like a *post-browser-compromise* step rather than an initial access bug.
  • Population narrowing: Glic is not the broadest browser attack surface — even though Chrome itself is ubiquitous, a component-specific flaw in a niche feature does not automatically deserve the full weight of Chrome's install base.
  • Threat telemetry is cold — no KEV entry, no credible public exploitation, and an EPSS of 0.00047 all argue against spending emergency patch capital here.

Why not higher?

If this were a clean, one-click drive-by leading directly to browser or OS compromise, it would rate much higher because Chrome is everywhere. But the likely prerequisite of a separate renderer compromise compounds the friction dramatically, and the stated impact is confidentiality-only rather than full code execution or host takeover.

Why not lower?

This is still a remotely triggerable browser issue in a high-value application, and if chained by a capable actor it can meaningfully expose data. Chrome also has huge enterprise footprint, so even a niche chain-step bug deserves inventory validation and inclusion in the normal browser update cadence.

05 · Compensating Control

What to do — in priority order.

  1. Force Chrome auto-update compliance — Make sure managed endpoints are actually ingesting current Stable or approved Enterprise channel updates, because browser vulnerabilities age badly when stragglers linger. For a LOW verdict there is no SLA; treat as backlog hygiene, but fold version enforcement into your next normal browser maintenance cycle.
  2. Disable unneeded experimental browser features — If your estate enables preview or experimental Chrome capabilities, review and turn off anything not explicitly required, especially pilot-only AI or side-panel features. This is the cleanest compensating control when the vulnerable surface is a niche component; for LOW, handle it as routine hardening rather than an emergency action.
  3. Prioritize browser isolation for high-risk users — Put admins, finance, and frequent spearphish targets behind stricter browsing controls such as remote browser isolation, tighter extension policy, and stronger web filtering. That reduces the chance of the prerequisite renderer-compromise stage, which is the real gate in this chain.
  4. Hunt for browser exploit precursors, not just this CVE — Look for Chrome crash clusters, unusual renderer instability, suspicious extension installs, and post-click browsing to unknown domains. If this CVE matters in your environment, it will usually appear *after* evidence of some other browser-stage exploit attempt.
What doesn't work
  • A perimeter vuln scan will not tell you meaningful exposure beyond version presence; this is a client-side browser flaw with no server-side listening surface.
  • A WAF does not help for endpoints browsing the public web; the risky traffic is outbound user browsing, not inbound requests to your applications.
  • MFA is good hygiene but does not block the browser-process trust-boundary abuse itself; it only helps limit follow-on session abuse.
06 · Verification

Crowdsourced verification payload.

Run this on the target endpoint or through your software inventory agent. Invoke it with python3 check_cve_2026_11027.py on Windows, macOS, or Linux; no admin rights are required for a basic version check, but reading enterprise policy/flags may require access to user profile files.

noisgate-verify.py
PYTHONREAD-ONLYSAFE
#!/usr/bin/env python3
# check_cve_2026_11027.py
# Determine likely exposure to CVE-2026-11027 by checking local Chrome/Chromium version.
# Outputs one of: VULNERABLE, PATCHED, UNKNOWN
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

import os
import platform
import re
import shutil
import subprocess
import sys
from pathlib import Path

FIX_WINDOWS_MAC = (149, 0, 7827, 53)  # Chrome post indicates .53/.54 on Win/Mac; .53 is minimum safe floor
FIX_LINUX = (149, 0, 7827, 53)

CANDIDATES = {
    'Windows': [
        r'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
        r'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
        r'C:\\Program Files\\Chromium\\Application\\chrome.exe',
        r'C:\\Program Files (x86)\\Chromium\\Application\\chrome.exe',
    ],
    'Darwin': [
        '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
        '/Applications/Chromium.app/Contents/MacOS/Chromium',
    ],
    'Linux': [
        '/usr/bin/google-chrome',
        '/usr/bin/google-chrome-stable',
        '/usr/bin/chromium',
        '/usr/bin/chromium-browser',
        '/snap/bin/chromium',
    ],
}

VERSION_RE = re.compile(r'(\d+)\.(\d+)\.(\d+)\.(\d+)')


def parse_version(s):
    m = VERSION_RE.search(s)
    if not m:
        return None
    return tuple(int(x) for x in m.groups())


def run_version(binary):
    try:
        cp = subprocess.run([binary, '--version'], capture_output=True, text=True, timeout=8)
        out = (cp.stdout or '') + ' ' + (cp.stderr or '')
        return parse_version(out)
    except Exception:
        return None


def find_binary():
    system = platform.system()
    # Check PATH first
    for name in ['google-chrome', 'google-chrome-stable', 'chromium', 'chromium-browser', 'chrome']:
        p = shutil.which(name)
        if p:
            v = run_version(p)
            if v:
                return p, v
    # Check well-known locations
    for p in CANDIDATES.get(system, []):
        if Path(p).exists():
            v = run_version(p)
            if v:
                return p, v
    return None, None


def version_lt(a, b):
    return a < b


def main():
    system = platform.system()
    binary, version = find_binary()

    if not version:
        print('UNKNOWN: Chrome/Chromium binary not found or version unreadable')
        sys.exit(2)

    if system == 'Linux':
        fixed = FIX_LINUX
    elif system in ('Windows', 'Darwin'):
        fixed = FIX_WINDOWS_MAC
    else:
        print(f'UNKNOWN: Unsupported platform {system}; detected version {version} from {binary}')
        sys.exit(2)

    version_str = '.'.join(map(str, version))
    fixed_str = '.'.join(map(str, fixed))

    if version_lt(version, fixed):
        print(f'VULNERABLE: detected {version_str} at {binary}; fixed floor is {fixed_str}')
        sys.exit(1)
    else:
        print(f'PATCHED: detected {version_str} at {binary}; fixed floor is {fixed_str}')
        sys.exit(0)


if __name__ == '__main__':
    main()
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: do not burn emergency change windows on this CVE alone. Validate Chrome version coverage, make sure lagging desktops roll onto 149.0.7827.53/.54 through the normal browser channel, and if you knowingly expose Glic or experimental Chrome features to pilot users, disable those where business value is unclear while you patch. For a LOW verdict there is no noisgate mitigation SLA and no noisgate remediation SLA — treat as backlog hygiene, but don't let unmanaged browser stragglers sit indefinitely; fold them into your next scheduled browser update wave and document the downgrade rationale around the post-renderer-compromise prerequisite.

Sources

  1. Chrome Releases - Early Stable Update for Desktop (149.0.7827.53/.54)
  2. Chrome Releases - Extended Stable Updates for Desktop (148.0.7778.254)
  3. Chrome Enterprise - Release channels
  4. Chromium multi-process architecture
  5. Chromium sandbox design
  6. Chromium process sandboxes by platform
  7. CISA Known Exploited Vulnerabilities Catalog
  8. FIRST EPSS API documentation
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.