A decoder that chokes on a malformed frame and hands the attacker the remote control
Android's FrameDecoder, part of the image/animation decode pipeline, copies decoded frame data into a heap buffer without validating its size. A specially crafted animated image or media container can trigger an out-of-bounds write in onOutputReceived of FrameDecoder.cpp, leading to remote code execution with no additional privileges and no user interaction. The flaw affects Android 14, 15, 16, 16 QPR2, and 17, and was fixed in the November 2026 Android Security Bulletin.
No vendor CVSS score was published for this CVE, so this assessment starts from the official description alone. The stated impact—RCE, no privileges, no user interaction—would normally map to a 9.8 Network vector. However, no public exploit exists, EPSS is only 0.211%, and the attack chain requires auto-processing of a malicious media file. Android 14+ sandboxing and media-process hardening constrain the initial blast radius, so the true severity settles at HIGH, not CRITICAL.
5 steps from start to impact.
Craft malformed media file
FrameDecoder::onOutputReceived to write past the heap buffer during decoding.- Attacker has reverse-engineered Android 14–17 FrameDecoder parsing path
- No public exploit is required—custom development is feasible for an advanced actor
- No public PoC or exploit chain has been indexed as of 2026-11-02
- Heap layout variabilities across SoC vendors and Android builds complicate reliable triggering
Deliver file to a channel that auto-processes media
- Target phone number, email address, or URL reachable
- Channel permits media delivery and the receiving app auto-downloads or displays previews without user action
- Carriers or messaging apps may transcode/compress attachments, disrupting the exploit
- Many Android apps disable auto-download for MMS or media by default; battery/data saver can block background fetch
- Enterprise MDM may restrict MMS / RCS or disable personal messaging profiles
Trigger FrameDecoder on untrusted content
onOutputReceived.- Device runs affected Android version (14, 15, 16, 16 QPR2, or 17)
- The vulnerable decode path is reachable from the delivered content
- Not all image/animation formats route through the same FrameDecoder path; media type and app behavior vary
- Modern Android may sandbox media decoding in a separate process with limited privileges
Gain code execution in the decoding process
- Exploit must bypass ASLR, PIE, heap grooming, and stack/heap protections in Android
- Attacker must achieve a controllable heap layout for the target device/SoC
- Android hardening (ASLR, PIE, zero-initialization, CFI, heap isolation) has made reliable exploitation significantly harder
- No public exploit has demonstrated successful code execution against current Android versions
Abuse process-level access and move laterally on device
- Vulnerable process has permissions to sensitive data or hardware
- Further privilege escalation is needed for full device compromise or tenant pivot
- Android SELinux and app sandboxing limit the compromised process to its UID; root/kernel access is not implied by this CVE
- No privilege escalation is bundled; the CVE only provides code execution in the decoding process
- If the process is media server (UID media), it cannot read app sandbox files directly
- Google Play Protect scanning: does not detect zero-day media-parsing heap overflows before exploit.
- Traditional network firewalls / WAFs: cannot inspect MMS/RCS traffic that bypasses enterprise perimeter.
- Email attachment sandboxing: only protects email vector; MMS/RCS, messaging, and web content still reach the device.
- Antivirus signature updates: without a public PoC, no signatures exist for the malicious file.
The supporting signals.
| In-the-wild status | No known exploitation; no reports from OffSeq Mirage or GreyNoise; not in CISA KEV. |
|---|---|
| Proof-of-concept availability | No public PoC; no ExploitDB, Metasploit, or nuclei templates indexed as of 2026-11-02. |
| EPSS score | 0.00211 (0.211% probability of exploitation in next 30 days). |
| KEV status | Not listed. |
| CVSS vector | No vendor vector published; description maps to AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H if interpreted as full network RCE. |
| Affected versions | Android 14, 15, 16, 16 QPR2, and 17. |
| Fixed versions | November 2026 Android Security Bulletin; patch level 2026-11-05. |
| Scanning/exposure data | Not internet-exposed as a network service; exposure is every unpatched Android device receiving untrusted media. No Shodan/Censys relevance. |
| Disclosure date | 2026-11-02. |
| Reporting researcher/org | No credited researcher in available sources; coordinated by Google Android Security. |
Sources.
Why this verdict
- No vendor baseline: CVE has no CVSS score; this is an initial assessment based on the official description and attack surface.
- Network-adjacent RCE, no UI: The flaw yields code execution in a media/image decoding process on Android 14–17, and remote delivery via MMS, RCS, or auto-loading web content is plausible.
- Role multiplier: On consumer devices the impact is local; on enterprise-managed Android with MFA, O365/Workspace, and corporate email, the same RCE can exfiltrate tokens and app data, and a mass-MMS campaign could hit a fleet. That puts the floor at HIGH.
- Friction holds it below CRITICAL: No public PoC, no in-the-wild exploitation, EPSS 0.211%, and Android's media-process sandbox limits the initial blast radius to one process, not kernel/root.
Why not higher?
Not CRITICAL because no public exploit, in-the-wild activity, or KEV listing exists yet; the initial code execution is confined to the media/decoding process, and Android 14+ hardening makes a reliable mass exploit uncertain. A single device compromise does not guarantee fleet-wide or domain-level impact without additional escalation.
Why not lower?
Not MEDIUM or lower because the official CVE states remote code execution with no additional privileges and no user interaction; Android 14–17 is extremely widely deployed in enterprise fleets, and compromised devices act as MFA and cloud-session endpoints, so a silent RCE cannot be accepted as routine patching.
Crowdsourced verification payload.
Run this script on a Linux/macOS auditor workstation with Android SDK platform-tools installed. Invoke as bash check_cve-2026-58868.sh; requires adb access to target devices via USB debugging. It checks each connected device's security patch level against the required November 2026 patch.
#!/usr/bin/env bash
# Check Android security patch level for CVE-2026-58868
set -u
REQUIRED="2026-11-05"
devices=$(adb devices | awk 'NR>1 && $2=="device" {print $1}')
if [ -z "$devices" ]; then
echo "UNKNOWN: No devices connected"
exit 2
fi
for dev in $devices; do
patch=$(adb -s "$dev" shell getprop ro.build.version.security_patch 2>/dev/null | tr -d '\r')
if [ -z "$patch" ]; then
echo "$dev UNKNOWN"
continue
fi
if [[ "$patch" < "$REQUIRED" ]]; then
echo "$dev VULNERABLE (patch $patch)"
else
echo "$dev PATCHED (patch $patch)"
fi
done