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

Out of bounds write in GPU in Google Chrome on Android prior to 149

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

This is a cracked airbag in every fleet phone, not a grenade rolling across the whole network

CVE-2026-10892 is an out-of-bounds write in Chrome's GPU path on Android. In plain English: malicious web content can push Chrome into writing past a memory boundary, which can corrupt process memory and, per Google's description and the CVE text, potentially lead to a sandbox escape. The affected population is Google Chrome on Android before 149.0.7827.53.

Google's own bug taxonomy calls this one Critical, and that is fair from a pure browser-exploitation standpoint: remote content touching memory safety in a browser GPU component is never a joke. But for enterprise patch triage, reality lands at HIGH, not CRITICAL because the chain is still client-side, still requires user interaction with attacker-controlled content, is limited to Android Chrome rather than every Chrome platform, and currently has no KEV entry, no public PoC, and no vendor statement of in-the-wild exploitation.

"Assessed at HIGH: serious Android browser memory corruption, but it still needs a user on a page and there is no exploit signal"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Land the victim on weaponized web content

The attacker needs a malicious site, malvertising placement, or compromised page that serves a crafted HTML/JavaScript payload designed to drive Chrome's Android GPU code path. In practice this is a custom browser exploit delivery page rather than an off-the-shelf tool; no public exploit kit or GitHub PoC was found during this assessment.
Conditions required:
  • Victim uses Google Chrome on Android
  • Victim is on a version earlier than 149.0.7827.53
  • Victim visits attacker-controlled or attacker-influenced web content
Where this breaks in practice:
  • Requires user interaction or at least browser navigation to hostile content
  • Enterprise DNS, SWG, mobile threat defense, and safer browsing controls shrink the reachable population
  • No public PoC lowers copycat risk
Detection/coverage: Version-based detection is strong through MDM/EMM and managed Play inventory. Content-stage detection is partial through DNS, proxy, Safe Browsing, and mobile threat defense telemetry.
STEP 02

Trigger GPU memory corruption

The payload must hit the vulnerable GPU path and turn the out-of-bounds write into reliable memory corruption on Android Chrome. This usually means browser-version-aware exploit logic and careful heap shaping, which is materially harder than exploiting a simple logic bug.
Conditions required:
  • The crafted page reaches the vulnerable GPU code path
  • The target device/browser build behaves in a way the exploit expects
Where this breaks in practice:
  • GPU bugs are often reliability-sensitive across devices and builds
  • Chrome hardening and exploit mitigations raise the bar
  • Renderer or tab crashes may burn the attempt before code execution
Detection/coverage: Runtime detection is weak. Crash telemetry, browser instability spikes, and mobile EDR/MTD behavioral alerts may provide indirect signal but not high-confidence exploit attribution.
STEP 03

Convert memory corruption into code execution in-browser

An attacker then needs to turn the out-of-bounds write into controlled execution inside the compromised browser context. That is the classic exploit-development step: corruption alone is not impact, and reliability is what separates a bug from a fleet-scale threat.
Conditions required:
  • Attacker has a stable exploit primitive from the corrupted state
  • Exploit bypasses modern browser mitigations sufficiently to continue
Where this breaks in practice:
  • This is custom exploit engineering, not commodity abuse
  • Many attempts will fail as crashes rather than clean execution
  • No public evidence yet that a stable chain exists in the wild
Detection/coverage: Telemetry coverage is limited. Post-crash forensics and mobile threat defense products may detect abnormal browser process behavior, but there is no dependable network signature for this stage.
STEP 04

Abuse the potential sandbox escape

The CVE description explicitly says the flaw could potentially allow a sandbox escape, which is the real severity driver here. If achieved, the attacker moves from a browser compromise toward broader app or device impact, making downstream token theft, session hijack, or data access much more plausible on the affected handset.
Conditions required:
  • Attacker successfully weaponizes the bug beyond a crash
  • The escape path works on the specific Android Chrome target
Where this breaks in practice:
  • The CVE states potential escape, not proven universal full-device compromise
  • Blast radius is primarily the single user/device, not direct enterprise-wide server compromise
  • Modern Android app sandboxing and MTD controls may still limit post-exploit actions
Detection/coverage: Detection shifts to post-exploitation artifacts: suspicious app behavior, unusual session reuse, device posture anomalies, and MTD alerts. Pre-impact prevention is much better done with version compliance than exploit detection.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo confirmed public exploitation found during this assessment. Google did not attach an "aware of exploit in the wild" statement, and the CVE is not in CISA KEV.
Proof-of-concept availabilityNo public PoC or exploit repo located in open web/GitHub search results at assessment time. That meaningfully reduces immediate copycat risk.
EPSS0.00035 from the provided intel. That is extremely low modeled near-term exploitation probability; percentile was not available in the sourced data set used here.
KEV statusNot KEV-listed as of the assessment date. No CISA due date applies.
Authoritative severity metadataNo vendor or authority CVSS score/vector published in the sources reviewed. Google classifies the bug as Critical in the Chrome release notes, but that is not a CVSS baseline.
Affected versionsGoogle Chrome on Android prior to 149.0.7827.53.
Fixed version149.0.7827.53 or later on Android, per the CVE text provided by the requester.
Scanning and exposure realityShodan/Censys-style exposure data is not meaningful here because this is a client-side mobile browser bug, not an internet-listening service. Exposure has to be measured from MDM/EMM inventory, not external scan data.
Disclosure timelineDisclosed 2026-06-04 per the provided intel. Google release notes show the bug was reported by Google on 2026-05-14.
Researcher / reporting orgThe Chrome release notes credit the report to Google rather than an external researcher.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to HIGH (8.3/10)

The decisive factor keeping this out of CRITICAL is reachability: this is an Android Chrome client exploit that still starts with getting a user onto attacker-controlled web content. The bug class is ugly and the vendor's Critical label is technically understandable, but the absence of active-exploitation evidence and the Android-only blast radius make this a HIGH-priority fleet patch, not an all-hands incident.

HIGH Affected version and bug class
MEDIUM Real-world exploitability without public technical detail
HIGH No current KEV or public PoC signal

Why this verdict

  • Baseline set high by impact: browser memory corruption tied to a *potential sandbox escape* on a ubiquitous browser deserves an aggressive starting point even without CVSS
  • Downward pressure for attacker reachability: the attacker position is *unauthenticated remote*, but only through user-driven browsing to malicious content; this is not a passive network hit or wormable service
  • Downward pressure for exposure population: the bug is limited to Chrome on Android, which is a large fleet segment for some orgs but still narrower than all Chrome platforms or a server product
  • Downward pressure for exploit maturity: there is no KEV listing, no vendor exploitation warning, and no public PoC in the open-source search set reviewed
  • Upward pressure for consequence: if the described *potential sandbox escape* is reliably weaponized, impact moves beyond a mere renderer crash into device-level compromise territory for the targeted handset

Why not higher?

CRITICAL would require either much broader reachable population or stronger evidence that exploitation is already practical at scale. Here, the chain still depends on hostile web content reaching a user on Android Chrome, and the current public signal around weaponization is weak.

Why not lower?

This is still a browser memory-safety flaw in the GPU path with a stated *potential sandbox escape*, not a cosmetic DoS. Even without exploitation evidence, the technical upside for a capable attacker is serious enough that this should stay above routine backlog work.

05 · Compensating Control

What to do — in priority order.

  1. Force Chrome updates from EMM — Use Android Enterprise managed Google Play or your EMM/MDM to push Chrome 149.0.7827.53 or later and verify install compliance. For a HIGH verdict, deploy this control within 30 days if patching cannot be completed immediately.
  2. Quarantine outdated Android devices — Build a dynamic group for devices with com.android.chrome below 149.0.7827.53 and restrict access to sensitive SaaS, SSO, or corp resources until updated. This cuts the business blast radius while you close patch compliance, and it should be in place within 30 days.
  3. Tighten mobile web-risk controls — Enable or validate Safe Browsing, mobile threat defense, DNS filtering, and secure web gateway policies for Android traffic to reduce initial delivery from malicious or compromised sites. These are mitigation-only controls and should be enforced within 30 days.
  4. Prefer managed Chrome only — Block sideloaded browser builds and standardize on managed Play-distributed Chrome so version inventory is trustworthy and updates are enforceable. For this HIGH issue, make that policy correction within 30 days where gaps exist.
What doesn't work
  • A WAF does not protect users browsing third-party hostile sites; the exploit lands in the client browser, not your web app perimeter.
  • Network segmentation does little for the initial exploit step because the first compromise path is ordinary outbound web browsing from the handset.
  • MDM inventory alone is not a mitigation; it tells you who is exposed but does not stop delivery or exploitation until you enforce update or access policy.
06 · Verification

Crowdsourced verification payload.

Run this on an auditor workstation with adb installed and a USB- or network-connected Android device. Invoke it as bash check_chrome_android_cve_2026_10892.sh <device-serial> or omit the serial if only one device is connected; it needs adb shell access only, no root.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_chrome_android_cve_2026_10892.sh
# Verify whether Google Chrome on an Android device is vulnerable to CVE-2026-10892
# Affected: Chrome on Android versions prior to 149.0.7827.53
# Output: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN, 3=usage/tooling error

set -u

TARGET_VERSION="149.0.7827.53"
SERIAL="${1:-}"
ADB_BIN="${ADB_BIN:-adb}"
PACKAGE="com.android.chrome"

fail() {
  echo "UNKNOWN: $1"
  exit 2
}

need_cmd() {
  command -v "$1" >/dev/null 2>&1 || {
    echo "UNKNOWN: required command not found: $1"
    exit 3
  }
}

version_ge() {
  # returns 0 if $1 >= $2
  [ "$(printf '%s\n%s\n' "$1" "$2" | sort -V | tail -n1)" = "$1" ]
}

need_cmd "$ADB_BIN"
need_cmd sort
need_cmd awk
need_cmd sed

ADB=("$ADB_BIN")
if [ -n "$SERIAL" ]; then
  ADB+=("-s" "$SERIAL")
fi

STATE="$(${ADB[@]} get-state 2>/dev/null || true)"
if [ "$STATE" != "device" ]; then
  fail "adb device not available; connect/unlock device and authorize adb"
fi

PKG_INFO="$(${ADB[@]} shell dumpsys package "$PACKAGE" 2>/dev/null | tr -d '\r')"
if [ -z "$PKG_INFO" ]; then
  fail "unable to query package info for $PACKAGE"
fi

VERSION_NAME="$(printf '%s\n' "$PKG_INFO" | sed -n 's/.*versionName=\([^[:space:]]*\).*/\1/p' | head -n1)"
VERSION_CODE="$(printf '%s\n' "$PKG_INFO" | sed -n 's/.*versionCode=\([0-9][0-9]*\).*/\1/p' | head -n1)"

if [ -z "$VERSION_NAME" ]; then
  fail "Chrome package not installed or versionName unavailable"
fi

if version_ge "$VERSION_NAME" "$TARGET_VERSION"; then
  echo "PATCHED: $PACKAGE version $VERSION_NAME (versionCode=${VERSION_CODE:-unknown}) is >= $TARGET_VERSION"
  exit 0
else
  echo "VULNERABLE: $PACKAGE version $VERSION_NAME (versionCode=${VERSION_CODE:-unknown}) is < $TARGET_VERSION"
  exit 1
fi
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning, pull a fleet report from your EMM/MDM for Android devices with com.android.chrome below 149.0.7827.53, force the managed Play update, and place stragglers into a restricted-access group if they cannot update cleanly. For this HIGH assessment, the noisgate mitigation SLA is within 30 days for temporary controls like access restriction and web-risk policy tightening, and the noisgate remediation SLA is within 180 days for getting every managed Android device onto the fixed Chrome build or later; because this is a browser app update rather than firmware surgery, most teams should close it in the next mobile patch cycle, not let it drift toward the outer SLA limit.

Sources

  1. Chrome Releases - Stable Channel Update for Desktop (lists CVE-2026-10892 as Critical)
  2. Chrome Releases - Chrome for Android Update (149.0.7827.48 early stable baseline)
  3. Chrome Releases homepage / 2026 archive
  4. Chromium issue tracker entry referenced by release notes
  5. CISA Known Exploited Vulnerabilities Catalog
  6. FIRST EPSS data and statistics
  7. FIRST API documentation for EPSS
  8. Canadian Centre for Cyber Security advisory referencing June 2026 Chrome fixes
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.