CVE-2020-16010 — Google Chrome for Android UI Heap Buffer Overflow Vulnerability

CVE-2020-16010

Chrome for Android — Heap Buffer Overflow in Chrome UI Enables Compromised Renderer to Escape Android Sandbox; Zero-Day Chained with CVE-2020-15999 for Full Device Compromise

What is Chrome for Android's Sandbox?

Chrome on Android uses a different sandboxing model than desktop Chrome. On Android, Chrome's renderer processes run in a sandbox that restricts their ability to access the OS, file system, and Android system services. Breaking out of this sandbox requires a vulnerability in the browser's privileged (browser process) code — not the renderer sandbox code. The Chrome for Android UI layer handles the browser's user interface, including tab management, navigation bars, and gesture handling. Heap buffer overflows in UI components that share memory with privileged browser code provide a pathway for a compromised renderer process to corrupt browser process memory and escape the sandbox.

Overview

CVE-2020-16010 is a heap buffer overflow (CWE-787) in Chrome for Android's UI component that allows a compromised renderer process to escape Chrome's sandbox on Android. It was disclosed as a zero-day alongside CVE-2020-15999 (FreeType heap buffer overflow for renderer code execution), forming a two-stage Android exploit chain: CVE-2020-15999 achieves renderer code execution via a malicious font, then CVE-2020-16010 escapes the Android sandbox to access the device's OS and data. Chrome 86.0.4240.185 for Android was released November 2, 2020 to patch both zero-days. CISA added it to KEV in November 2021.

Affected Versions

Product Vulnerable Fixed
Google Chrome for Android before 86.0.4240.185 Yes 86.0.4240.185

Technical Details

  • Root cause: Heap buffer overflow (CWE-787) in Chrome for Android's UI component — the Chrome browser UI on Android handles touch input, tab management, and navigation UI elements; a crafted HTML page triggers a heap buffer overflow in the UI processing code that is in the browser process (outside the renderer sandbox), allowing a compromised renderer to corrupt browser process memory via a cross-process interaction that triggers the vulnerable UI code path
  • Sandbox escape mechanism: The heap buffer overflow in the browser process memory provides the compromised renderer with a write primitive in the higher-privilege browser process; by controlling what is written to the corrupted memory region, the attacker redirects browser process execution to shellcode or ROP chains, achieving code execution outside the Android sandbox
  • Two-stage Android chain: CVE-2020-15999 → CVE-2020-16010: (1) malicious font in a web page triggers FreeType heap overflow, giving the renderer code execution inside the sandbox; (2) renderer exploits CVE-2020-16010 UI heap overflow to escalate from sandboxed renderer to browser process executing with Android app permissions; combined effect: full Chrome app access including browsing data, cookies, stored passwords, and Android permissions granted to Chrome
  • S:C CVSS: Scope: Changed reflects the security boundary crossing from sandboxed renderer to browser process — the vulnerability's value is specifically in enabling this cross-boundary escalation
  • Android-specific attack surface: CVE-2020-16010 is in Chrome for Android's UI specifically; the companion Windows sandbox escape uses a different mechanism (CVE-2020-17087 kernel escalation); this indicates the threat actor had platform-specific sandbox escape capabilities for both desktop and mobile

Discovery

Discovered by Google's Threat Analysis Group as part of the same active exploitation investigation that uncovered CVE-2020-15999 (FreeType). The two Android-targeting zero-days were disclosed simultaneously on November 3, 2020, confirming they were used as a package in active attacks against Android users.

Exploitation Context

CVE-2020-16010 is significant as a 2020-era Android Chrome sandbox escape zero-day — such vulnerabilities are extremely valuable for mobile device surveillance. Chained with CVE-2020-15999, the complete exploit requires only that a victim visit a malicious web page in Chrome for Android; no user interaction beyond browsing is needed. Post-sandbox-escape, the attacker gains full Chrome process access: stored credentials, session cookies for all websites, and any Android permissions Chrome holds (location, camera, microphone if previously granted). The simultaneous deployment against Android (this CVE + CVE-2020-15999) and Windows (CVE-2020-15999 + CVE-2020-17087) indicates sophisticated, multi-platform attack capability.

Remediation

  1. Update Chrome for Android to 86.0.4240.185 or later — patches CVE-2020-16010; update via Google Play Store
  2. Enable automatic Chrome updates on Android devices to ensure future security patches are applied promptly
  3. For enterprise Android management: use Google Play Protect and Android Enterprise policies to enforce minimum Chrome version requirements
  4. Consider using Chrome's Safe Browsing Enhanced Protection mode (enabled in Settings → Privacy and Security) which provides additional malicious URL detection
  5. Review Chrome's stored passwords and session data — if exploitation occurred, stored credentials may be compromised; reset passwords stored in Chrome
  6. For high-risk users (government officials, journalists, activists): consider using a secondary browser or dedicated device for sensitive browsing, and apply Android security updates promptly

Key Details

PropertyValue
CVE ID CVE-2020-16010
Vendor / Product Google — Chrome for Android UI
NVD Published2020-11-03
NVD Last Modified2026-01-14
CVSS 3.1 Score9.6
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
SeverityCRITICAL
CWE CWE-787 find similar ↗
CISA KEV Added2021-11-03
CISA KEV Deadline2022-05-03
Known Ransomware Use No

CVSS 3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Required Action

CISA BOD 22-01 Deadline: 2022-05-03. Apply updates per vendor instructions.

Timeline

DateEvent
2020-11-02Chrome 86.0.4240.185 for Android released, patching CVE-2020-16010 as actively exploited zero-day
2020-11-03CVE published; disclosed alongside CVE-2020-15999 (FreeType) as a pair used in Android exploit chain
2021-11-03Added to CISA Known Exploited Vulnerabilities catalog
2022-05-03CISA BOD 22-01 remediation deadline

References

ResourceType
Chrome for Android 86.0.4240.185 Security Update Vendor Advisory
NVD — CVE-2020-16010 Vulnerability Database
CISA KEV Catalog Entry US Government