← Back to Feed CACHED · 2026-08-19 19:32:53 · CACHE_KEY CVE-2026-0075
CVE-2026-0075 · CWE-89 · Disclosed 2026-06-01

In multiple functions

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A nosy roommate reading your address book through the crack under the door

CVE-2026-0075 is a flaw in Android's ContactsProvider2.java component across Android 14, 15, 16, and 16-qpr2. A local application without the READ_CONTACTS permission can craft malformed SQL queries against the ContactsProvider content provider. When these queries trigger SQLite exceptions, the error messages leak database structure and content — a classic error-based SQL injection side channel. The AOSP patch (commit bb9f36b3) sanitizes these error strings for callers lacking READ_CONTACTS, eliminating the information disclosure vector.

Google's Android Security Bulletin rates this High (and some NVD sources cite CVSS 7.8), while the provided CVSS vector scores only 5.9. Both overstate the real-world risk for enterprise fleet managers. The attack is local only — a malicious app must already be installed on the target device. The blast radius is a single device's contact database, not credentials, tokens, or enterprise secrets. In a managed-device fleet with MDM app-allow-listing, the prerequisite of getting a rogue app onto the device is the hardest part of the chain, and the payoff is minimal compared to what social-engineering a READ_CONTACTS permission grant would yield.

"Android ContactsProvider side-channel leak: contacts-only, local app required, no fleet impact."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Malicious app installed on target device

The attacker must get a malicious application onto the Android device. This could be via sideloading, a trojanized Play Store app that evades review, or a managed-app policy gap. The app does NOT need any dangerous permissions — it just needs to be able to query a content provider, which any app can do.
Conditions required:
  • Attacker has a local application running on the target Android device
Where this breaks in practice:
  • Enterprise MDM with app-allow-listing blocks unapproved apps
  • Google Play Protect scans for known malicious patterns
  • Sideloading is disabled by default on managed devices
Detection/coverage: Google Play Protect, MDM compliance checks for unapproved app installs
STEP 02

Craft malformed SQL queries to ContactsProvider

The malicious app sends ContentResolver queries to the content://com.android.contacts provider with deliberately malformed SQL fragments in selection arguments or sort-order parameters. These are designed to trigger SQLite parsing errors that leak data in exception messages.
Conditions required:
  • App can query the ContactsProvider content provider (default for all apps)
Where this breaks in practice:
  • Modern Android SELinux policies may limit ContentProvider access in some OEM builds
  • The technique yields data slowly — one error message at a time
Detection/coverage: No standard detection; runtime behavior analysis by MTD solutions could flag unusual ContentProvider query patterns
STEP 03

Parse SQLite error messages to extract contact data

The app catches the thrown exceptions and parses the error strings to extract fragments of the contacts database. This is a side-channel extraction — slow, partial, and limited to whatever the error messages reveal. The attacker reconstructs names, phone numbers, and email addresses from the leaked strings.
Conditions required:
  • ContactsProvider returns unsanitized SQLite error messages (pre-patch behavior)
Where this breaks in practice:
  • Extraction is partial and noisy — not a clean database dump
  • Data obtained is limited to contacts, not auth tokens or enterprise credentials
  • On devices with few contacts, the payoff is trivial
Detection/coverage: Mobile Threat Defense (MTD) solutions with behavioral analysis may flag rapid-fire ContentProvider queries
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNo known in-the-wild exploitation. Not listed on CISA KEV.
Proof of ConceptYes — PoC referenced on KSEC Community Forum exploit feed; details behind forum access wall.
EPSS Score0.00094 — bottom tier, well below the 1% threshold indicating negligible predicted exploitation probability.
KEV StatusNot listed as of 2026-08-20.
CVSS VectorUser-provided: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L (5.9). Google bulletin rates High; some NVD sources cite 7.8. Local vector, low CIA impact across the board.
Affected VersionsAndroid 14, 15, 16, 16-qpr2 — the ContactsProvider2.java component in AOSP packages/providers/ContactsProvider.
Fixed VersionSecurity patch level 2026-06-01 or later. AOSP commit bb9f36b3ff6d42136afb61d527e1e8f67242fe32.
Scanning / ExposureNot applicable for network scanning — this is a local Android component. Exposure is every unpatched Android 14-16 device in the fleet. Use MDM patch-level reporting to enumerate.
Disclosure Date2026-06-01 (Android Security Bulletin, June 2026). Reserved 2025-10-15.
ReporterNot publicly credited in the bulletin.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (3.0/10)

The single most decisive factor is that exploitation requires a malicious app already running locally on the Android device, and the blast radius is limited to one device's contact database — no credential theft, no lateral movement, no fleet-scale impact. This is an information-disclosure side channel with trivially low enterprise value compared to the prerequisite effort.

HIGH Vulnerability mechanics and patch analysis
HIGH Blast-radius assessment (contacts-only, single device)
MEDIUM PoC maturity (forum reference only, not independently verified)

Why this verdict

  • Local-only attack vector with app-install prerequisite: The attacker must first get a malicious app onto a managed device — the hardest step in the chain for enterprise-managed Android fleets with MDM app-allow-listing and Play Protect enabled. This alone compresses the reachable population to near-zero in well-managed environments.
  • Minimal data payoff: The side channel yields fragments of the contacts database. In enterprise context, contacts are low-sensitivity data compared to auth tokens, managed app data, or MDM configuration. The risk-to-effort ratio is extremely poor for an attacker.
  • No privilege escalation beyond data leak: Despite Google labeling this EoP, the actual impact is information disclosure of contacts. There is no path to SYSTEM, no kernel compromise, no lateral movement to other devices or enterprise infrastructure.
  • Role multiplier: Android devices occupy only endpoint roles (workstations equivalent). There is no high-value-role scenario (no DC, no hypervisor, no CI/CD, no PKI) where this vulnerability's blast radius could scale. The floor does not apply — contacts on a phone do not enable domain takeover, fleet compromise, or supply-chain pivot.
  • Bottom-tier EPSS (0.00094): Statistical exploitation probability is negligible, consistent with the friction analysis.

Why not higher?

Upgrading to MEDIUM or above would require either a realistic path to fleet-scale compromise, exposure of high-value data (credentials, tokens), or evidence of active exploitation. None of these conditions exist. The local prerequisite with MDM friction and the contacts-only payoff make even MEDIUM an overstatement for enterprise environments.

Why not lower?

Dropping to IGNORE would be inappropriate because a working PoC does exist, the vulnerability affects a broad Android version range (14-16), and organizations with BYOD policies or weak MDM enforcement could see contact data leakage at scale across unmanaged personal devices. The flaw is real and exploitable — it is just low-impact.

05 · Compensating Control

What to do — in priority order.

  1. Enforce MDM app-allow-listing on all managed Android devices — Block sideloading and restrict app installation to approved sources. This eliminates the prerequisite of getting a malicious app onto the device. No specific mitigation SLA applies at LOW severity — treat as backlog hygiene.
  2. Verify Google Play Protect is enabled fleet-wide via MDM policy — Play Protect provides runtime scanning that can detect malicious apps attempting known exploitation patterns. Confirm enrollment via MDM compliance reporting.
  3. Roll out June 2026 security patch level via MDM OTA policy — The definitive fix is security patch level 2026-06-01 or later. At LOW severity, this falls into backlog hygiene with no hard SLA deadline, but it should ship with your next routine Android patch cycle.
  4. Audit BYOD contact-sharing policies — If your org syncs corporate directory contacts to personal devices, evaluate whether this side channel could leak the corporate directory on unmanaged BYOD devices. Consider restricting contact sync to managed devices only.
What doesn't work
  • Network-level controls (WAF, NGFW, IDS) — This is a local on-device attack via Android content providers. No network traffic is involved in the exploitation itself; network controls are irrelevant.
  • Android permissions management — The entire point of this vulnerability is that it bypasses the READ_CONTACTS permission check. Revoking contact permissions from apps does not mitigate this flaw.
  • VPN or zero-trust network access — The attack occurs entirely within the device's local process space and does not traverse any network boundary.
06 · Verification

Crowdsourced verification payload.

Run this on a workstation with adb connected to the target Android device. Requires USB debugging enabled or ADB over network. Usage: bash check_cve_2026_0075.sh — no root required on the device.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_cve_2026_0075.sh
# Checks if an ADB-connected Android device is patched for CVE-2026-0075
# Requires: adb in PATH, device connected and authorized
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

set -euo pipefail

PATCH_DATE="2026-06-01"

if ! command -v adb &>/dev/null; then
  echo "UNKNOWN — adb not found in PATH"
  exit 2
fi

DEVICE_COUNT=$(adb devices | grep -c 'device$' || true)
if [ "$DEVICE_COUNT" -eq 0 ]; then
  echo "UNKNOWN — no ADB device connected"
  exit 2
fi

SPL=$(adb shell getprop ro.build.version.security_patch 2>/dev/null | tr -d '\r')

if [ -z "$SPL" ]; then
  echo "UNKNOWN — could not read security patch level"
  exit 2
fi

echo "Device security patch level: $SPL"
echo "Required patch level:        $PATCH_DATE"

if [[ "$SPL" > "$PATCH_DATE" ]] || [[ "$SPL" == "$PATCH_DATE" ]]; then
  echo "PATCHED — device is at or above $PATCH_DATE"
  exit 0
else
  echo "VULNERABLE — device patch level $SPL is below $PATCH_DATE"
  exit 1
fi
07 · Bottom Line

If you remember one thing.

TL;DR
This is a LOW-severity finding for enterprise Android fleet managers. The ContactsProvider SQL injection side channel (CVE-2026-0075) requires a malicious app already on the device, yields only contact data, and has no path to lateral movement or privilege escalation beyond a single device. Under the noisgate remediation SLA for LOW, there is no hard mitigation or remediation deadline — treat this as backlog hygiene. Roll the June 2026 security patch level into your next routine Android update cycle. If you have BYOD devices syncing corporate directory contacts, prioritize those for the patch. Ensure MDM app-allow-listing and Play Protect are enforced fleet-wide as standing controls. Do not bump other work for this CVE.

Sources

  1. Android Security Bulletin — June 2026
  2. AOSP Patch Commit (ContactsProvider2.java)
  3. CVE-2026-0075 — THREATINT
  4. KSEC Exploit Feed — SQL Injection in Google Android
  5. CISA Known Exploited Vulnerabilities Catalog
  6. NVD CVE Detail Database
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.