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

Inappropriate implementation in Password Manager in Google Chrome prior to 149

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

This is a peep-hole in the browser’s lockbox, not a skeleton key to the building

CVE-2026-11032 is a Chrome Password Manager flaw that affects builds before 149.0.7827.53 on Linux and 149.0.7827.53/.54 on Windows/macOS. Per the vendor description and your intel, a malicious site can trigger cross-origin data leakage from Password Manager logic, which turns a normal web visit into a same-browser privacy boundary failure rather than full code execution or full browser compromise.

Google’s MEDIUM call is basically right. The impact is sensitive because Password Manager touches credentials and identity data, but the real-world chain still depends on user interaction, a vulnerable browser version, and a page that can actually reach the buggy state; that is a very different operational problem from a no-click RCE or a server-side pre-auth bug attackers can spray across the internet.

"Real bug, real data exposure, but it still needs a user in an old Chrome build to hit a hostile page."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Land the victim on attacker content

The attacker needs the user to browse to a crafted web page in a vulnerable Chrome build. In practice this is phishing, malvertising, SEO-poisoned content, or a compromised legitimate site rather than direct network exploitation. Weaponized delivery is just standard web content; no special exploit kit is required from the evidence currently public.
Conditions required:
  • Target is running Chrome prior to 149.0.7827.53
  • User can be induced to load attacker-controlled HTML
  • Chrome Password Manager is present and enabled enough to exercise the vulnerable code path
Where this breaks in practice:
  • Requires UI:R, so the attacker cannot just scan-and-pop hosts
  • Enterprise filtering, browser isolation, URL rewriting, and safe browsing reduce successful lures
  • Managed fleets often auto-update Chrome quickly, shrinking the vulnerable window
Detection/coverage: Good vulnerability scanners can flag browser version drift, but they cannot prove the Password Manager path is reachable on a given host.
STEP 02

Trigger the Password Manager boundary failure

Once the page loads, the attacker attempts to drive the browser into the vulnerable Password Manager state so cross-origin data becomes exposed to the hostile origin. The important point is that this is a browser logic flaw, not a memory-corruption path to code execution. The weaponized artifact is the crafted HTML page referenced by the advisory.
Conditions required:
  • The specific DOM/navigation/form state needed by the bug must be reachable
  • Victim browsing session must contain password-manager-relevant data or context
Where this breaks in practice:
  • Chrome’s site isolation and modern browser hardening constrain many cross-origin abuse patterns
  • If password saving/autofill is disabled by policy, the blast radius drops materially
  • Some users will not have relevant saved credentials or active session state for the targeted origin
Detection/coverage: Network and EDR products generally will not see the logical data-flow violation itself; browser telemetry or crash/feature diagnostics are more useful than perimeter logs.
STEP 03

Exfiltrate leaked cross-origin data

If the bug is hit, attacker-controlled JavaScript exfiltrates the leaked data back to infrastructure the attacker controls. This is fast, low-noise, and looks like ordinary browser traffic unless you have deep client telemetry. The likely payoff is credential-adjacent or origin-confused data exposure, not system-level persistence.
Conditions required:
  • Data of value must actually be exposed by the flaw
  • Outbound HTTPS from the browser to attacker infrastructure is allowed
Where this breaks in practice:
  • Impact is bounded to what the browser process can leak, not arbitrary host takeover
  • DLP, secure web gateways, and egress analytics may catch odd beaconing patterns, though not reliably
  • No evidence so far of mass exploitation tooling or reliable public PoC
Detection/coverage: Version-only checks are straightforward; exploit-attempt detection is weak unless your browser telemetry stack captures anomalous password-manager or renderer events.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo confirmed in-the-wild exploitation found in the sources reviewed; not present in CISA KEV at time of writing.
Proof-of-concept availabilityNo public PoC or exploit repo surfaced in the reviewed sources. That matters because browser logic bugs often need reliability work before they become campaign-grade.
EPSS0.00035 from your intel, which is extremely low and consistent with a niche client-side exploitation path rather than broad attacker interest.
KEV statusNot KEV-listed. CISA’s KEV catalog does not currently list CVE-2026-11032.
CVSS vector meaningCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N means remote over the web with no privileges, but user interaction is mandatory and the impact is confidentiality only.
Affected versionsChrome prior to 149.0.7827.53 per the vendor title/advisories; desktop stable release notes show fixed builds at 149.0.7827.53 for Linux and 149.0.7827.53/.54 for Windows/macOS.
Fixed versionsUpgrade to Chrome 149.0.7827.53 or later; on Windows/macOS you may also see 149.0.7827.54. Chromium downstreams should use their own vendor backports rather than raw upstream version assumptions.
Scanning/exposure dataThis is a client-side browser flaw, so Shodan/Censys-style internet exposure counts are largely meaningless. Your exposure is your managed endpoint population still running pre-fix Chrome, not a public service banner.
Disclosure timelineGoogle published the stable desktop release on 2026-06-02; your supplied disclosure date is 2026-06-04. The Chromium issue entry in the release notes shows it was reported by Google on 2026-03-30.
ReporterRelease notes attribute CVE-2026-11032 to Google rather than an external researcher.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to MEDIUM (5.8/10)

The decisive factor is the attack position: this is still a user-driven client-side browser bug, not a remotely exploitable service flaw defenders can expect attackers to spray at scale. The confidentiality impact is real, but the reachable population narrows sharply once you account for required browsing activity, fast Chrome auto-update behavior, and the absence of active exploitation evidence.

HIGH Version-based affected/fixed scope
MEDIUM Real-world exploitability assessment
MEDIUM Likely blast radius of enterprise impact

Why this verdict

  • Starts below panic level: vendor scored it 6.5 MEDIUM, and the bug class is information disclosure rather than code execution or sandbox escape.
  • UI requirement is real downward pressure: the attacker needs a user to open hostile web content, which implies phishing, malvertising, or site compromise rather than direct reachability.
  • Client-side only: there is no internet-facing daemon to scan and mass-exploit; your exposed surface is only the subset of endpoints lagging Chrome updates.
  • Blast radius is bounded: even if hit, the described impact is cross-origin data leakage from Password Manager behavior, not arbitrary code execution on the host.
  • Threat intel is cold: EPSS is extremely low, there is no KEV listing, and no public PoC or campaign evidence surfaced in the reviewed sources.

Why not higher?

It is not higher because every important prerequisite narrows the attack set: vulnerable Chrome version, a live user session, a lure to attacker-controlled content, and a working Password Manager state. That compounding friction makes this materially less urgent than pre-auth RCEs, browser sandbox escapes, or anything already showing exploitation telemetry.

Why not lower?

It is not lower because Password Manager is high-value data territory, and cross-origin leakage inside a browser can translate into credential exposure or origin boundary bypass consequences. Chrome is also massively deployed, so even a moderate-probability client bug can matter at enterprise fleet scale if patch hygiene is weak.

05 · Compensating Control

What to do — in priority order.

  1. Force browser update compliance — Use your endpoint platform or browser management tooling to drive all desktop Chrome installs to 149.0.7827.53+ immediately and identify stragglers. For a MEDIUM verdict there is no mitigation SLA — go straight to the 365-day remediation window, but in practice browser fleet hygiene should be measured in days, not quarters.
  2. Restrict password manager use on high-risk tiers — For admin workstations, privileged access tiers, and help-desk jump boxes, enforce policy to disable built-in password saving/autofill or move those roles to hardened credential workflows. This reduces the available secret material if a similar browser-origin flaw is hit before patching; deploy as a preventive control during the normal remediation cycle.
  3. Harden web content delivery paths — Keep Safe Browsing, URL filtering, browser isolation, and mail-link rewriting enabled because they reduce the odds users ever land on the crafted page needed for exploitation. This does not fix the bug, but it does cut the only viable initial access path while you complete patch rollout.
  4. Find stale Chrome on exception populations — Audit VDI gold images, kiosk systems, offline laptops, developer workstations using portable builds, and lab machines where Chrome auto-update is often broken by design. These are the systems that turn a medium browser bug into a recurring long-tail exposure.
What doesn't work
  • Network perimeter scanning does not help much because this is not a server-side service exposure problem.
  • MFA is good security but does not prevent browser-side cross-origin data leakage from occurring in the local session.
  • EDR alone is weak here because the exploit path is likely just browser logic plus normal HTTPS traffic, not obvious malware execution.
06 · Verification

Crowdsourced verification payload.

Run this on the target endpoint or through your EDR live-response / software inventory runner. Invoke with python3 check_chrome_cve_2026_11032.py on macOS/Linux or py check_chrome_cve_2026_11032.py on Windows; standard user rights are usually enough, though Windows registry access works best in a normal user or admin session.

noisgate-verify.py
PYTHONREAD-ONLYSAFE
#!/usr/bin/env python3
# check_chrome_cve_2026_11032.py
# Detects whether installed Google Chrome is older than 149.0.7827.53
# Outputs exactly 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

THRESHOLD = (149, 0, 7827, 53)


def parse_version(text):
    if not text:
        return None
    m = re.search(r'(\d+)\.(\d+)\.(\d+)\.(\d+)', text)
    if not m:
        return None
    return tuple(int(x) for x in m.groups())


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


def run_cmd(cmd):
    try:
        p = subprocess.run(cmd, capture_output=True, text=True, timeout=10)
        out = (p.stdout or '') + ' ' + (p.stderr or '')
        return out.strip()
    except Exception:
        return ''


def get_version_from_binary(path):
    if not path or not os.path.exists(path):
        return None
    out = run_cmd([path, '--version'])
    return parse_version(out)


def detect_linux():
    candidates = [
        shutil.which('google-chrome'),
        shutil.which('google-chrome-stable'),
        shutil.which('chrome'),
        '/opt/google/chrome/chrome',
        '/usr/bin/google-chrome',
        '/usr/bin/google-chrome-stable',
    ]
    for c in candidates:
        v = get_version_from_binary(c)
        if v:
            return v
    return None


def detect_macos():
    candidates = [
        '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
        os.path.expanduser('~/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'),
    ]
    for c in candidates:
        v = get_version_from_binary(c)
        if v:
            return v
    return None


def detect_windows():
    # Try common install paths first
    env_paths = [
        os.environ.get('PROGRAMFILES'),
        os.environ.get('PROGRAMFILES(X86)'),
        os.environ.get('LOCALAPPDATA'),
    ]
    candidates = []
    for base in env_paths:
        if not base:
            continue
        candidates.append(os.path.join(base, 'Google', 'Chrome', 'Application', 'chrome.exe'))

    for c in candidates:
        if os.path.exists(c):
            out = run_cmd([c, '--version'])
            v = parse_version(out)
            if v:
                return v

    # Fallback to registry query without requiring pywin32
    reg_queries = [
        [
            'reg', 'query',
            r'HKCU\Software\Google\Chrome\BLBeacon',
            '/v', 'version'
        ],
        [
            'reg', 'query',
            r'HKLM\Software\Google\Chrome\BLBeacon',
            '/v', 'version'
        ],
        [
            'reg', 'query',
            r'HKLM\Software\WOW6432Node\Google\Chrome\BLBeacon',
            '/v', 'version'
        ],
    ]
    for q in reg_queries:
        out = run_cmd(q)
        v = parse_version(out)
        if v:
            return v

    return None


def main():
    system = platform.system().lower()
    version = None

    if 'windows' in system:
        version = detect_windows()
    elif 'darwin' in system:
        version = detect_macos()
    elif 'linux' in system:
        version = detect_linux()
    else:
        print('UNKNOWN')
        sys.exit(2)

    if not version:
        print('UNKNOWN')
        sys.exit(2)

    if version_lt(version, THRESHOLD):
        print('VULNERABLE')
        sys.exit(1)
    else:
        print('PATCHED')
        sys.exit(0)


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

If you remember one thing.

TL;DR
Monday morning: treat this as browser fleet hygiene with data-sensitivity context, not as an emergency incident. Because the reassessed verdict is MEDIUM, there is no noisgate mitigation SLA — go straight to the 365-day remediation window for the actual patch, but don’t be lazy: update all managed Chrome desktops to 149.0.7827.53+ in your normal browser ring rollout this cycle, then use the rest of the noisgate remediation SLA window to clean up stragglers, VDI images, and unmanaged exception populations.

Sources

  1. Google Chrome Releases — Stable Channel Update for Desktop (Chrome 149)
  2. Google Chrome Releases — Early Stable Update for Desktop
  3. Canadian Centre for Cyber Security advisory for Chrome 149
  4. SecurityWeek summary of Chrome 149 fixes
  5. CISA Known Exploited Vulnerabilities Catalog
  6. FIRST EPSS API documentation
  7. Chromium Chrome Security Page
  8. Chrome Releases index for 2026
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.