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

Use after free in Printing in Google Chrome on Linux prior to 149

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

This is a second-story window, not the front door

CVE-2026-10894 is a use-after-free in Chrome's Printing component on Linux affecting Google Chrome versions prior to 149.0.7827.53. The bug matters because a memory-safety flaw in a browser boundary-adjacent component can be used for heap corruption and potentially to turn a sandboxed foothold into something bigger. But the key phrase in the advisory is the one most dashboards bury: the attacker must have already compromised the renderer process.

That makes the supplied HIGH 8.3 baseline too generous for standalone patch triage in a large enterprise. In real life this is a chainable post-renderer-compromise escape, not an unauthenticated one-click initial access bug; add the Linux-only scope, no KEV listing, tiny EPSS, and no public exploit evidence located, and the severity lands in MEDIUM for patch scheduling even though the technical class is scary.

"Serious as a sandbox-escape building block, but not a front-door bug: it needs a compromised renderer and only hits Linux."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Land a renderer foothold with a separate browser bug

The attacker first needs code execution or equivalent control inside Chrome's sandboxed renderer. That is not provided by CVE-2026-10894 itself; this CVE assumes the renderer is already compromised, so the practical weapon is a multi-bug chain rather than a single-shot exploit. Public reporting reviewed here did not surface a named PoC or exploit kit for this CVE.
Conditions required:
  • Victim is using Google Chrome on Linux below 149.0.7827.53
  • Victim loads attacker-controlled web content
  • Attacker has a separate renderer compromise path or already controls the renderer
Where this breaks in practice:
  • Requires a prior compromise stage before this CVE is even reachable
  • Modern Chrome site isolation and sandboxing reduce what renderer-only access can do
  • No public PoC or in-the-wild campaign evidence located as of 2026-06-04
Detection/coverage: Version scanners can find vulnerable Chrome builds, but they cannot prove renderer compromise. Detection is mostly indirect: browser crash telemetry, EDR alerts on abnormal child-process behavior, and exploit-chain artifacts.
STEP 02

Drive the Linux printing path from the compromised renderer

With renderer control, the attacker attempts to exercise the Printing component through browser IPC and HTML/JS-driven print flows. The target bug is a use-after-free, so exploitation depends on arranging object lifetime and heap state at the right moment, which is materially harder than a straightforward logic bug.
Conditions required:
  • Printing code path is reachable in the target workflow
  • Chrome printing is enabled for the user/profile
  • The exploit is tuned for the Linux build and target version
Where this breaks in practice:
  • Some enterprises disable or rarely use browser printing
  • Renderer-to-browser transitions are a monitored trust boundary in Chrome's design
  • Heap grooming and timing make reliability harder, matching the high-complexity CVSS input
Detection/coverage: Expect poor signature coverage. Best coverage is crash spikes in Chrome's printing stack, renderer/browser IPC anomalies, and version-based exposure reporting from endpoint inventory.
STEP 03

Convert memory corruption into a sandbox escape or browser-process impact

If the printing UAF is exploited reliably, the attacker tries to pivot from a sandboxed renderer context into a more privileged browser-side context, or at minimum cause a controlled crash useful for further chaining. This is the step that turns a renderer foothold from 'contained tab compromise' into potential broader host impact.
Conditions required:
  • A working exploit primitive exists for the specific Linux target
  • Target defenses do not break exploit reliability
  • Attacker can shape heap state sufficiently to gain code reuse or controlled corruption
Where this breaks in practice:
  • Linux-only population is smaller than all-platform Chrome fleet exposure
  • Chrome memory-hardening features and OS mitigations push exploit development cost up
  • Exploit reliability must survive browser version drift and distro packaging differences
Detection/coverage: There is no meaningful network scanner for this step. EDR may catch post-exploit payload execution, odd process trees, or suspicious filesystem access after a browser-originating event.
STEP 04

Use the escape for local follow-on actions

After a successful escape, the attacker can attempt credential theft, local persistence, or access to data outside the renderer sandbox. At that point the blast radius becomes a function of the endpoint's local privileges and what that Linux workstation can reach.
Conditions required:
  • Successful sandbox escape from the browser chain
  • Valuable local secrets or enterprise access on the Linux endpoint
Where this breaks in practice:
  • Many Chrome compromises stop at the renderer because the second-stage escape is the expensive part
  • Least-privilege Linux desktops and EDR containment limit follow-on value
Detection/coverage: This is where defenders have their best shot: EDR, shell history, browser-originated subprocesses, abnormal credential access, and rapid Chrome crash/restart sequences tied to suspicious browsing.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo public evidence of active exploitation located as of 2026-06-04; Google did not note exploitation in the stable release post and CISA KEV does not list it. Sources: Chrome Releases, CISA KEV
Proof-of-concept availabilityNo public PoC found in reviewed web results and no weaponized repo surfaced in search. Treat this as an *absence of public evidence*, not proof of non-existence.
EPSS0.00068 (~0.068%) per supplied intel, which is extremely low and consistent with a hard-to-weaponize chained browser bug. EPSS methodology reference: FIRST EPSS, API docs
KEV statusNot KEV-listed; no CISA due date applies. Source: CISA Known Exploited Vulnerabilities Catalog
CVSS contextSupplied vector is CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H. The decisive part is AC:H plus the advisory language requiring a compromised renderer process; that is exactly the kind of prerequisite that compresses real-world exposure.
Affected versionsGoogle's desktop stable advisory says Linux Chrome prior to 149.0.7827.53 is affected; Windows/Mac got 149.0.7827.53/54 in the same release train, but the provided title scopes this CVE to Linux. Sources: Chrome Releases, Cyber Centre advisory
Fixed versionPatch floor is Google Chrome 149.0.7827.53 on Linux. If you use distro-packaged Chromium derivatives, validate vendor backports rather than assuming upstream version strings map 1:1.
Exposure and scanning realityThis is a client-side browser issue, so internet-wide data from Shodan/Censys/FOFA is low-value here; they do not meaningfully enumerate endpoint Chrome versions across enterprise workstations. Exposure discovery is therefore an endpoint inventory problem, not an external attack-surface problem.
Disclosure timelineGoogle's stable desktop release was published 2026-06-02; the supplied disclosure date is 2026-06-04. Use both dates in ticketing if your feeds disagree, but the patch became available with the June 2 stable release. Sources: Chrome Releases, Cyber Centre advisory dated 2026-06-03
Researcher / reporterThe Chrome stable post credits Google as the reporter for this issue, with report date 2026-05-15 and Chromium issue 513445101. Source: Chrome Releases entry, Chromium issue 513445101
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (5.4/10)

The single biggest driver down is the attacker position requirement: this bug is only useful after the renderer is already compromised, which makes it a second-stage browser escape, not an initial-access event. The Linux-only scope narrows the reachable population further, and there is no KEV or public exploitation evidence offsetting that friction.

HIGH Affected-version and fixed-version boundary
MEDIUM Real-world exploitability assessment without public bug details

Why this verdict

  • Requires prior renderer compromise: this prerequisite implies the attacker already achieved code execution or equivalent control inside Chrome's sandbox, which is a major downward adjustment from the supplied 8.3 baseline.
  • Linux-only reach cuts population: even in Chrome-heavy enterprises, the exposed population is a subset of desktop Linux endpoints rather than the full browser fleet.
  • No evidence of active exploitation: not KEV-listed, no public campaign evidence found, and the supplied EPSS is extremely low, so there is no threat-intel amplifier pulling this back into HIGH.

Why not higher?

This is not a clean unauthenticated remote exploit against the endpoint. The attacker must first clear a separate, difficult stage to compromise the renderer, and only then attempt to weaponize a Linux-only printing bug under modern browser hardening. That chain requirement is too much friction for HIGH in patch-priority terms.

Why not lower?

It is still a memory-safety bug in a browser boundary-relevant component, and those bugs matter because they can convert a sandboxed foothold into host impact. For Linux developer and admin workstations, that makes it more than backlog lint even without public exploitation.

05 · Compensating Control

What to do — in priority order.

  1. Force Chrome auto-update on Linux — Make sure managed Linux endpoints are not pinned below 149.0.7827.53 and that browser update rings actually advance. For a MEDIUM verdict there is no mitigation SLA — go straight to the remediation window, but do this in the next normal browser maintenance cycle rather than letting it drift.
  2. Disable Chrome printing where business use is nonessential — Use the PrintingEnabled enterprise policy to turn off browser printing for kiosk, admin, and high-risk roles that do not need it. This directly removes the vulnerable feature path and is the cleanest compensating control when you cannot update immediately; for MEDIUM, there is no mitigation SLA, so use it selectively as operational risk reduction rather than emergency containment.
  3. Prioritize Linux developer and privileged-user workstations — Focus detection and patch compliance on Linux systems that hold SSH keys, cloud CLIs, admin sessions, or source-code access. Those endpoints deliver the highest post-escape payoff to an attacker, so they are where this chained bug matters most before the ≤365-day remediation deadline.
  4. Hunt for browser-originated post-exploit activity — Tune EDR for suspicious child processes, abnormal filesystem access, and rapid crash/restart patterns tied to Chrome on Linux. This does not prevent exploitation, but it gives you a realistic chance to catch the follow-on stage if a browser chain lands.
What doesn't work
  • A WAF does not help; this is a client-side browser memory bug, not a server-side HTTP parsing problem.
  • Perimeter IPS signatures are weak value here because exploitation happens inside the browser with heap-state dependency and often no stable wire signature.
  • MFA is still good hygiene but irrelevant to the vulnerable code path; it does not stop a renderer-to-printing exploit chain on the endpoint.
06 · Verification

Crowdsourced verification payload.

Run this on the target Linux endpoint or through your Linux fleet manager/SSH orchestration. Invoke it as bash check_chrome_cve_2026_10894.sh with no root required; it inspects installed Chrome binaries and prints VULNERABLE, PATCHED, or UNKNOWN.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_chrome_cve_2026_10894.sh
# Determine whether Google Chrome on Linux is vulnerable to CVE-2026-10894
# Affected: Google Chrome on Linux prior to 149.0.7827.53
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

set -u

FIXED_VERSION="149.0.7827.53"
CANDIDATES=(
  "google-chrome"
  "google-chrome-stable"
  "/opt/google/chrome/google-chrome"
  "/usr/bin/google-chrome"
  "/usr/bin/google-chrome-stable"
)

found_bin=""
found_ver=""

ver_lt() {
  # returns 0 if $1 < $2
  [ "$(printf '%s\n%s\n' "$1" "$2" | sort -V | head -n1)" != "$2" ] && [ "$1" != "$2" ]
}

extract_ver() {
  # Pull first dotted numeric version from input
  echo "$1" | grep -Eo '[0-9]+(\.[0-9]+){3,}' | head -n1
}

for bin in "${CANDIDATES[@]}"; do
  if command -v "$bin" >/dev/null 2>&1; then
    out="$($bin --version 2>/dev/null || true)"
    ver="$(extract_ver "$out")"
    if [ -n "$ver" ]; then
      found_bin="$bin"
      found_ver="$ver"
      break
    fi
  elif [ -x "$bin" ]; then
    out="$($bin --version 2>/dev/null || true)"
    ver="$(extract_ver "$out")"
    if [ -n "$ver" ]; then
      found_bin="$bin"
      found_ver="$ver"
      break
    fi
  fi
done

if [ -z "$found_ver" ]; then
  echo "UNKNOWN - Google Chrome binary not found or version unreadable"
  exit 2
fi

if ver_lt "$found_ver" "$FIXED_VERSION"; then
  echo "VULNERABLE - $found_bin version $found_ver is older than fixed version $FIXED_VERSION"
  exit 1
fi

echo "PATCHED - $found_bin version $found_ver is at or above fixed version $FIXED_VERSION"
exit 0
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning, treat this as a Linux Chrome fleet hygiene issue with elevated interest on developer and privileged-user workstations, not as a company-wide emergency. Inventory managed Linux endpoints running Chrome, make sure no update ring is pinned below 149.0.7827.53, and selectively disable Chrome printing on high-risk roles if that is operationally easy; because this is MEDIUM and not KEV-listed, there is no noisgate mitigation SLA — go straight to the 365-day remediation window, but you should still clear it in your next routine browser update cycle rather than letting it age toward the noisgate remediation SLA of ≤365 days.

Sources

  1. Google Chrome Releases - Stable Channel Update for Desktop (June 2, 2026)
  2. Canadian Centre for Cyber Security advisory AV26-544
  3. Chromium multi-process architecture
  4. Chromium site isolation design document
  5. Chrome Enterprise policy - PrintingEnabled
  6. CISA Known Exploited Vulnerabilities Catalog
  7. FIRST EPSS overview
  8. Chromium issue 513445101
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.