This is a peep-hole inside an app-embedded browser, not a front-door breach
CVE-2026-11278 is a cross-origin data leak in Chrome Custom Tabs on Android affecting Chrome before 149.0.7827.53. Custom Tabs are the browser surfaces Android apps open inside their own UX, so the interesting part is not generic web browsing but app-launched browser sessions that share Chrome state. The stated impact is confidentiality only: a crafted HTML page can leak cross-origin data, with no integrity or availability impact described.
The vendor-style 6.5/MEDIUM baseline overstates enterprise urgency because the decisive prerequisite is hidden in the description: the attacker is local. In practice that means a malicious or already-compromised Android app has to get onto the handset first, then weaponize Custom Tabs to siphon data. That is post-initial-access on a mobile endpoint, not an unauthenticated internet attack path, and there is no KEV listing, no public PoC, and a near-floor EPSS.
4 steps from start to impact.
Land code on the handset
- Victim device runs Android with Chrome installed
- Chrome version is earlier than
149.0.7827.53 - Attacker can get a malicious or compromised app onto the device
- Enterprise Android fleets often restrict sideloading and unknown sources
- Managed Play allowlisting and Play Protect reduce malicious app placement
- Requiring local code on-device dramatically narrows the exposed population
Launch a crafted Custom Tab session
CustomTabsIntent to open a weaponized HTML page inside Chrome Custom Tabs. Because Custom Tabs reuse the browser engine and often the user's browser state, the attacker gains a shot at abusing the flawed origin-handling path within that embedded browsing context.- The malicious app can invoke Custom Tabs
- The target workflow uses Chrome Custom Tabs rather than a different browser surface
- The victim interacts with or views the crafted content
- Not every enterprise app uses Custom Tabs in a reachable way
- User interaction is still required per the CVSS vector
- Some apps use safer auth-specific flows or different browser containers
Exploit origin validation weakness
- The victim has relevant authenticated browser state or accessible cross-origin content
- The vulnerable code path is hit inside Custom Tabs
- The crafted page can reliably trigger the flaw
- Impact depends on the victim already having useful browser state
- Bug details remain restricted, limiting exploit reliability information
- Confidentiality-only impact usually yields narrower blast radius than RCE
Exfiltrate leaked data
- Outbound network access exists for the app or page
- Leaked data is valuable enough to exfiltrate
- The attacker can correlate stolen data to a victim account or session
- Per-device scope limits enterprise-wide impact
- Mobile outbound filtering, DNS controls, and MTD can catch suspicious exfil
- No evidence yet of operationalized campaigns using this CVE
The supporting signals.
| In-the-wild status | No confirmed active exploitation found in the sources reviewed, and not listed in CISA KEV. |
|---|---|
| Proof-of-concept availability | No public PoC located on GitHub or in primary-source references during this assessment; Chromium bug details remain restricted. |
| EPSS | 0.00007 (~0.007%) from the user-provided intel. Percentile was not independently confirmed from FIRST in this assessment, but this score sits near the floor of EPSS values. |
| KEV status | No. CISA KEV catalog reviewed on 2026-06-07; CVE-2026-11278 was not present. |
| CVSS vector interpretation | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N means easy trigger conditions *if reachable*, but the narrative description says local attacker, which materially narrows real-world reach versus a true internet-reachable browser bug. |
| Affected versions | Google Chrome on Android prior to 149.0.7827.53. |
| Fixed version | Upgrade to Chrome for Android 149.0.7827.53 or later. No distro-style backport channel was identified; this is primarily a Play Store / managed mobile app update problem. |
| Exposure footprint | There is no meaningful Shodan/Censys/FOFA exposure query because this is not a network service. Exposure is instead the subset of managed Android devices running vulnerable Chrome and using apps that invoke Custom Tabs. |
| Disclosure timing | CVE published by NVD on 2026-06-04 and modified by CISA-ADP on 2026-06-05; Chrome stable 149 shipped on 2026-06-02. |
| Reporter / source | Chrome release notes credit Google and map the underlying issue to Chromium bug 501859865. |
noisgate verdict.
The single biggest downgrade factor is attacker position: this is described as a local attacker issue in an Android-only browser component, which means the adversary typically needs code execution via a malicious app on the handset before this CVE matters. That converts a nominal web-origin leak into a post-initial-access mobile privacy issue with narrow reachable population and per-device blast radius.
Why this verdict
- Downward pressure: requires local attacker position — the CVE description itself says *local attacker*, which implies the attacker is already on the Android device or has planted a malicious app there.
- Downward pressure: Android + Custom Tabs only — this is not generic Chrome desktop exposure and not every mobile workflow uses reachable Custom Tabs paths.
- Downward pressure: confidentiality-only impact — there is no code execution, sandbox escape, or persistence; blast radius is typically one user session on one handset.
- Downward pressure: low threat telemetry — no KEV listing, no public PoC located, and user-supplied EPSS is effectively floor-level.
- Residual risk remains — Custom Tabs share real browser state, so a successful exploit can still expose meaningful cross-origin data on devices that already hold corporate sessions.
Why not higher?
If this were a true unauthenticated remote browser bug that any website could hit directly across the open internet, the vendor 6.5 would be defensible. But the local-attacker prerequisite and Android-app delivery requirement compound the friction; most enterprises would already view that as a sign of prior compromise or malicious app installation. That is why this does not belong in HIGH or even a strong MEDIUM bucket.
Why not lower?
It is not IGNORE because Chrome on Android is widely deployed and Custom Tabs often inherit valuable authenticated browser state. If you run managed Android fleets with SSO-heavy mobile apps, a malicious app already on-device could use this bug to turn a foothold into real data exposure. That is enough to keep it above pure paperwork.
What to do — in priority order.
- Enforce managed app allowlisting — Make malicious app placement harder by restricting installs to Managed Google Play / approved catalogs and blocking unknown sources. For a LOW verdict there is no formal mitigation SLA; treat this as backlog hygiene and verify the policy is in place during the next mobile control review.
- Disable sideloading where business permits — This CVE gets real only after a local foothold, so cutting off sideloading materially lowers exposure. On managed Android, enforce the restriction through EMM policy and confirm exceptions are documented; for LOW, handle in routine hardening rather than emergency change.
- Keep Chrome auto-updates enforced — Use EMM compliance to require Chrome for Android
149.0.7827.53+and auto-update from Play. Because this is LOW, fold it into the normal mobile app update cadence rather than a crash patch window. - Monitor for risky app behavior — Mobile threat defense, Play Protect telemetry, and app reputation controls can catch the more realistic precursor: a suspicious app invoking browser-like flows or exfiltrating data. Again, no mitigation SLA applies here; prioritize on fleets that store high-value tokens on Android devices.
- A perimeter WAF does not solve this because the vulnerable boundary is inside an on-device browser component, not your internet edge.
- External attack-surface scanners will not help; there is no internet-facing port or banner to fingerprint.
- Generic desktop Chrome patch dashboards are insufficient if they do not separately track Android app versions.
- Relying only on MFA does not stop data leakage from an already-authenticated browser session on the device.
Crowdsourced verification payload.
Run this on an auditor workstation with adb installed, against a connected Android device or emulator with USB debugging/enterprise shell access enabled. Invoke it as ./check_cve_2026_11278.sh <serial> or ./check_cve_2026_11278.sh for the default device; it needs permission to use adb, but no root on the handset.
#!/usr/bin/env bash
# check_cve_2026_11278.sh
# Verify Chrome for Android version for CVE-2026-11278.
# Exit codes:
# 0 = PATCHED
# 1 = VULNERABLE
# 2 = UNKNOWN / error
set -euo pipefail
TARGET_VERSION="149.0.7827.53"
SERIAL="${1:-}"
ADB=(adb)
if [[ -n "$SERIAL" ]]; then
ADB+=( -s "$SERIAL" )
fi
if ! command -v adb >/dev/null 2>&1; then
echo "UNKNOWN - adb not found in PATH"
exit 2
fi
if ! "${ADB[@]}" get-state >/dev/null 2>&1; then
echo "UNKNOWN - no reachable Android device via adb"
exit 2
fi
VERSION="$("${ADB[@]}" shell dumpsys package com.android.chrome 2>/dev/null | tr -d '\r' | awk -F= '/versionName=/{print $2; exit}')"
if [[ -z "$VERSION" ]]; then
echo "UNKNOWN - Chrome package not found or version unreadable"
exit 2
fi
verlte() {
# returns 0 if $1 <= $2 using version sort
[[ "$1" == "$2" ]] && return 0
local first
first="$(printf '%s\n%s\n' "$1" "$2" | sort -V | head -n1)"
[[ "$first" == "$1" ]]
}
if verlte "$VERSION" "$TARGET_VERSION" && [[ "$VERSION" != "$TARGET_VERSION" ]]; then
echo "VULNERABLE - Chrome version $VERSION is earlier than $TARGET_VERSION"
exit 1
fi
if [[ "$VERSION" == "$TARGET_VERSION" ]] || ! verlte "$VERSION" "$TARGET_VERSION"; then
echo "PATCHED - Chrome version $VERSION is $TARGET_VERSION or later"
exit 0
fi
echo "UNKNOWN - unable to determine state"
exit 2
If you remember one thing.
149.0.7827.53 into your normal mobile hygiene queue, verify that sideloading restrictions and managed-app allowlisting are actually enforced, and use MDM to identify the vulnerable subset that also relies on Custom Tabs-heavy apps. For this LOW verdict, the noisgate mitigation SLA is no SLA and the noisgate remediation SLA is likewise backlog hygiene rather than a dedicated deadline; roll the fix into your standard managed Play update cadence and focus immediate effort elsewhere unless you already have signs of malicious apps on corporate Android devices.Sources
- NVD entry for CVE-2026-11278
- Chrome Releases: Stable Channel Update for Desktop (Chrome 149 security fixes)
- Chrome for Developers: Overview of Android Custom Tabs
- Android Open Source Project: Implement Android Custom Tabs for Captive Portal Login
- CISA Known Exploited Vulnerabilities Catalog
- FIRST EPSS overview
- FIRST EPSS API documentation
- Chrome Releases: Chrome for Android Update (Chrome 149 rollout context)
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.