CVE-2017-5070 — Google Chromium V8 Type Confusion Vulnerability

CVE-2017-5070

Google Chrome V8 Engine — Type Confusion in JIT Compiler Enables Renderer RCE via Crafted HTML Page; HIGH 8.8; Fixed Chrome 59

What Is Google Chromium V8?

Google V8 is the open-source JavaScript and WebAssembly engine powering Google Chrome, Microsoft Edge (Chromium-based), Opera, and Electron-based desktop applications. V8's JIT compilers — Ignition (bytecode interpreter) and Turbofan (optimizing compiler) — transform JavaScript into native machine code for high-performance execution. Type confusion vulnerabilities in V8 are particularly severe because the JavaScript type system's dynamic nature creates complex invariants that the JIT compiler must maintain; violations of these invariants allow attacker-controlled JavaScript to access memory in unintended ways, enabling exploitation.

Overview

Actively Exploited. This vulnerability has been added to CISA's Known Exploited Vulnerabilities (KEV) Catalog on June 8, 2022. Federal agencies are required to apply mitigations per BOD 22-01.

CVE-2017-5070 is a type confusion vulnerability (CWE-843) in the Google Chromium V8 JavaScript engine that allows a remote attacker to execute arbitrary code inside the Chrome renderer sandbox via a crafted HTML page. Type confusion in V8's JIT compiler allows JavaScript to access and corrupt memory outside its intended type's bounds — a powerful primitive for building reliable exploits. Fixed in Chrome 59.0.3071.86 (June 2017). Added to CISA KEV in June 2022 alongside CVE-2017-5030 (V8 OOB read) reflecting confirmed exploitation.

Affected Versions

Browser Vulnerable Version Fixed Version
Google Chrome Before 59.0.3071.86 59.0.3071.86+
Microsoft Edge Affected Chromium-based builds Apply Windows/Edge updates
Opera Affected builds Update Opera

Technical Details

Root Cause: Type Confusion in V8 JIT Compiler

CVE-2017-5070 is a type confusion vulnerability (CWE-843) in V8's JIT compiler. Type confusion occurs when code accesses a memory object as if it were a different type than it actually is, violating type invariants. In V8, JavaScript objects have internal "hidden classes" (maps) that describe their structure; the JIT compiler caches and assumes these types for optimized code generation.

How type confusion leads to exploitation:

  1. Attacker constructs JavaScript that causes V8's JIT to misclassify an object's type (hidden class confusion)
  2. Subsequent operations on the confused object access memory using the wrong type's layout — creating out-of-bounds read/write primitives
  3. Read primitive allows leaking pointers to defeat ASLR; write primitive corrupts objects to build a code execution capability
  4. Execution occurs in the Chrome renderer process sandbox

Type confusion is generally more exploitable than simple OOB reads because it provides both read and write primitives in a controllable manner, enabling more reliable and universal exploit chains.

Attack Characteristics

Attribute Detail
Attack Vector Network — malicious web page
User Interaction Required — user visits malicious page
Impact Code execution in Chrome renderer sandbox
Exploit Reliability High — type confusion provides read/write primitives
Common Chain Paired with sandbox escape for OS-level compromise

Exploitation Context

  • Commercial exploit chain component: V8 type confusion vulnerabilities are foundational components of high-value browser exploit chains; CVE-2017-5070 was within the timeframe of active commercial exploit sales by brokers such as Zerodium (which listed Chrome full chains at $500K-$1M+)
  • Targeted attack campaigns: Type confusion exploits that achieve sandbox-level RCE are typically used in targeted spear-phishing campaigns against high-value individuals — government officials, journalists, dissidents, corporate executives — where a single page visit achieves initial access
  • NSO Group and commercial surveillance: Commercial spyware vendors (Pegasus, FinFisher) routinely incorporate V8 type confusion exploits for delivery via watering hole or targeted link; while CVE-2017-5070 is a desktop vulnerability, the same exploit development tradecraft applies across mobile and desktop V8 targets
  • CISA KEV (2022): Added June 8, 2022 alongside CVE-2017-5030 — both 2017 Chrome V8 vulnerabilities were added together, reflecting their role in exploitation campaigns targeting US government and critical infrastructure personnel

Remediation

CISA BOD 22-01 Deadline: June 22, 2022. Apply updates per vendor instructions.
  1. Update Chrome and all Chromium-based browsers — ensure Chrome is at version 59.0.3071.86 or later; modern Chrome versions auto-update and most enterprise fleets should already be on significantly newer releases.

  2. Verify Chrome auto-update is functioning — confirm Chrome's auto-update mechanism is not blocked by enterprise AV, proxy, or group policy; silently disabled auto-update is a common cause of browser version lag.

  3. Enable Chrome Extended Stable for enterprise — organizations needing additional stability testing before browser updates can use Chrome Extended Stable channel, which provides 8-week update windows while still receiving critical security patches.

  4. Deploy Chrome Enterprise policies for browser hardening — disable unnecessary browser features, enforce Safe Browsing, and restrict extension installation to reduce attack surface beyond patching.

  5. Patch the OS alongside the browser — V8 type confusion achieves renderer sandbox RCE; full OS compromise requires a sandbox escape that typically exploits OS kernel vulnerabilities; OS patching is part of browser security hygiene.

Key Details

PropertyValue
CVE ID CVE-2017-5070
Vendor / Product Google — Chromium V8
NVD Published2017-10-27
NVD Last Modified2025-10-22
CVSS 3.1 Score8.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
SeverityHIGH
CWE CWE-843 — Access of Resource Using Incompatible Type ('Type Confusion') find similar ↗
CISA KEV Added2022-06-08
CISA KEV Deadline2022-06-22
Known Ransomware Use No

CVSS 3.1 Breakdown

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

Required Action

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

Timeline

DateEvent
2017-06-05Google releases Chrome 59.0.3071.86 patching CVE-2017-5070 and other V8 vulnerabilities
2017-10-27CVE-2017-5070 published by NVD
2022-06-08Added to CISA Known Exploited Vulnerabilities catalog
2022-06-22CISA BOD 22-01 remediation deadline