This is a master key hidden inside one apartment, not an unlocked front door to the whole building
CVE-2026-0008 is an Android elevation-of-privilege bug caused by a *confused deputy* condition. The public record says exploitation can yield local privilege escalation with no user interaction, and the affected product mapping currently points to Google Android 16. Google lists it in the March 2, 2026 Android Security Bulletin under the Framework section with bug ID A-433252423, and devices reporting a security patch level of 2026-03-01 or later are documented as having the 2026-03-01 fixes.
The vendor's HIGH 8.4 score overstates enterprise patch urgency for most fleets. The decisive friction is attacker position: this is AV:L on a client OS, so the attacker already needs code execution on the handset before this bug matters; that makes it a *post-initial-access privilege escalator*, not an initial compromise vector. Add the tiny EPSS, no KEV listing, no cited in-the-wild use, and an affected range effectively narrowed to Android 16, and this lands in MEDIUM for real-world patch prioritization.
4 steps from start to impact.
Land code execution on the device
- Target device runs Android 16
- Attacker can get code to run locally as an unprivileged app or process
- Device is enrolled in a fleet where the vulnerable build is still present
- This is not remotely reachable from the network
- Managed fleets often block unknown-source installs
- Google Play Protect, MDM policy, and mobile threat defense can reduce malicious app prevalence
Abuse the confused deputy path
- The vulnerable code path is reachable from the local app context
- Required Android component behavior matches the vulnerable build
- Public exploit details are sparse
- Exploit reliability may vary across OEM customizations and monthly patch states
- Some hardened builds or policy restrictions may break the reachable path
Gain elevated local privileges
- Exploit completes successfully on the target build
- Useful enterprise data is present on the compromised device
- Blast radius is usually one device at a time
- Work profile, hardware-backed keystore use, and app-level sandboxing still constrain some follow-on abuse
- Attackers still need a way to monetize or operationalize the local privilege gain
Use the handset as a better foothold
- Compromised device is used for corporate apps or federated identity
- The device has meaningful enterprise access
- Many enterprises limit mobile local admin power from translating into wider network access
- Conditional access, per-app VPN, and managed app containers reduce follow-on value
The supporting signals.
| In-the-wild status | No confirmed exploitation found in the sources reviewed. CISA ADP/SSVC on the CVE record shows Exploitation: none. |
|---|---|
| KEV status | Not in CISA KEV as checked against the public KEV catalog; no entry for CVE-2026-0008 was found. |
| PoC availability | No public PoC located in the primary sources reviewed. That does not prove exploit code does not exist privately, but there is no public weaponization signal here. |
| EPSS | 0.00008 from the supplied intel, which is effectively floor-level risk. The exact percentile was not confirmed from the available FIRST sources in this review. |
| CVSS vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — the important part is AV:L. The impact is severe *after* exploitation, but reachability is local-only. |
| Affected versions | Current public mappings point to Android 16 as affected. OpenCVE and NVD both map the vulnerable CPE to google:android:16.0. |
| Fixed / patch level | Google's March 2, 2026 bulletin states that security patch levels of 2026-03-01 or later address the 2026-03-01 issues, including this one. For fleets standardizing on full monthly coverage, 2026-03-05 or later also covers it. |
| Component | Google lists the issue in Framework with Android bug ID A-433252423. |
| Exposure / scanability | This is a client-side local privilege escalation, so internet-exposure platforms like Shodan/Censys are largely irrelevant. Fleet exposure should be measured through MDM inventory of Android 16 devices and patch levels, not external scanning. |
| Disclosure | Disclosed 2026-03-02 in the Android security bulletin; NVD published on 2026-03-02 and modified on 2026-03-03. |
noisgate verdict.
The single biggest downgrade factor is attacker position: this bug is local-only on Android 16, so the attacker already needs code execution on the handset before the CVE matters. That pushes it out of 'urgent fleet-wide emergency' territory and into the bucket of *important but post-compromise* mobile hardening.
Why this verdict
- Downgrade for attacker position:
AV:Lmeans the attacker must already be on the device. That's a post-initial-access step, not a breach entry point. - Downgrade for exposure population: current public mappings point to Android 16 only, not a broad multi-generation Android fleet issue.
- Downgrade for threat evidence: no KEV listing, no confirmed active exploitation, and an extremely low EPSS remove the urgency amplifier that would normally keep a vendor HIGH intact.
Why not higher?
It is not higher because this is not a remotely reachable service bug and not an unauthenticated network path. The attacker must first clear the hardest part of the chain—getting code onto the handset—before this CVE can help. There is also no public evidence that defenders are currently losing to this bug in the wild.
Why not lower?
It is not lower because once triggered, the technical impact is still serious: local privilege escalation on a managed endpoint can expose enterprise app data and trust material. 'Local-only' does not mean harmless; it means the bug is dangerous *after* another control has already failed.
What to do — in priority order.
- Enforce managed-app install policy — Use MDM/EMM to block unknown sources, restrict sideloading, and require approved app stores. This attacks the main prerequisite—local code execution—and, for a MEDIUM verdict, there is no mitigation SLA — go straight to the 365-day remediation window, though this control is worth enforcing sooner if your mobile posture is weak.
- Require Play Protect and mobile threat defense — Ensure Google Play Protect stays enabled and feed mobile risk signals into conditional access. These controls reduce the odds that a malicious app reaches the device in the first place; again, no mitigation SLA applies here, but they are strong standing controls while patching proceeds.
- Inventory Android 16 devices — Pull a device list from MDM for all handsets reporting Android 16 and compare
ro.build.version.security_patchagainst 2026-03-01. Because this is a MEDIUM issue, use the inventory to drive orderly remediation inside the 365-day window. - Gate high-risk mobile access — Apply stricter conditional access to unmanaged, out-of-date, or high-risk mobile devices for sensitive enterprise apps. This limits the blast radius if a local privilege escalator is chained after malicious app execution.
- A perimeter firewall does not help; the vulnerability is local to the device and not exposed as an inbound network service.
- A WAF is irrelevant because there is no web attack surface in the published record.
- Basic vuln scanning from the network will not reliably find this; you need MDM/device telemetry, not port scans.
Crowdsourced verification payload.
Run this from an auditor workstation with adb installed and USB debugging or approved enterprise ADB access to the target Android device. Invoke it as ./check-cve-2026-0008.sh <device-serial> or ./check-cve-2026-0008.sh for the default device; no root is required, but you do need ADB connectivity to the handset.
#!/usr/bin/env bash
# check-cve-2026-0008.sh
# Verify likely exposure to CVE-2026-0008 on an Android device via ADB.
# Logic:
# - CVE currently maps to Android 16.
# - Android security patch level 2026-03-01 or later is treated as patched.
# Output: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -euo pipefail
SERIAL="${1:-}"
ADB=(adb)
if [[ -n "$SERIAL" ]]; then
ADB+=( -s "$SERIAL" )
fi
fail_unknown() {
echo "UNKNOWN: $1"
exit 2
}
command -v adb >/dev/null 2>&1 || fail_unknown "adb not found in PATH"
if ! "${ADB[@]}" get-state >/dev/null 2>&1; then
fail_unknown "no reachable ADB device"
fi
ANDROID_VERSION=$("${ADB[@]}" shell getprop ro.build.version.release 2>/dev/null | tr -d '\r')
PATCH_LEVEL=$("${ADB[@]}" shell getprop ro.build.version.security_patch 2>/dev/null | tr -d '\r')
BUILD_FINGERPRINT=$("${ADB[@]}" shell getprop ro.build.fingerprint 2>/dev/null | tr -d '\r')
if [[ -z "$ANDROID_VERSION" ]]; then
fail_unknown "could not read Android version"
fi
if [[ -z "$PATCH_LEVEL" ]]; then
fail_unknown "could not read security patch level"
fi
# Basic validation of patch date format YYYY-MM-DD
if [[ ! "$PATCH_LEVEL" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
fail_unknown "unexpected patch level format: $PATCH_LEVEL"
fi
# Only Android 16 is currently mapped as affected.
if [[ "$ANDROID_VERSION" != "16" ]]; then
echo "PATCHED: device reports Android $ANDROID_VERSION; current public mappings for CVE-2026-0008 indicate Android 16 is affected"
echo "Fingerprint: $BUILD_FINGERPRINT"
exit 0
fi
THRESHOLD="2026-03-01"
if [[ "$PATCH_LEVEL" < "$THRESHOLD" ]]; then
echo "VULNERABLE: Android 16 device with security patch level $PATCH_LEVEL (< $THRESHOLD)"
echo "Fingerprint: $BUILD_FINGERPRINT"
exit 1
fi
echo "PATCHED: Android 16 device with security patch level $PATCH_LEVEL (>= $THRESHOLD)"
echo "Fingerprint: $BUILD_FINGERPRINT"
exit 0
If you remember one thing.
Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.