CVE-2016-5198 — Google Chromium V8 Out-of-Bounds Memory Vulnerability

CVE-2016-5198

Google Chromium V8 — Out-of-Bounds Read/Write via Crafted HTML Page Enables Remote Code Execution in Chrome Renderer; Patched Chrome 54.0.2840.100 (November 2016)

What Is Chromium V8?

V8 is Google's open-source, high-performance JavaScript and WebAssembly engine powering Google Chrome, Chromium, Microsoft Edge (Chromium-based), Opera, Node.js, and many other applications. V8 compiles JavaScript to native machine code using just-in-time (JIT) compilation. The complexity of V8's JIT compiler, type inference system, and array bounds management creates a persistent attack surface for memory corruption vulnerabilities — and V8 vulnerabilities provide code execution in the browser's renderer process, enabling full exploit chains when combined with a sandbox escape.

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-2016-5198 is an out-of-bounds memory access vulnerability in Google Chrome's V8 JavaScript engine that allows a remote attacker to perform read/write operations leading to code execution in the Chrome renderer process via a crafted HTML page. The vulnerability can affect multiple Chromium-based browsers including Google Chrome, Microsoft Edge (Chromium-based), and Opera. Google patched CVE-2016-5198 in Chrome 54.0.2840.100 (November 1, 2016). CISA added CVE-2016-5198 to the KEV catalog in June 2022.

Affected Versions

Browser Version Status
Google Chrome < 54.0.2840.100 Vulnerable
Chromium-based browsers Equivalent V8 version pre-fix Vulnerable
Google Chrome 54.0.2840.100+ Fixed

Technical Details

Root Cause: Out-of-Bounds Memory Access in V8

CVE-2016-5198 is an out-of-bounds memory access vulnerability (CWE-125) in Google's V8 JavaScript engine. V8 manages JavaScript values in internal typed arrays, vectors, and object backing stores. The vulnerability occurs when V8 performs a memory access (read or write) past the end of an allocated array or buffer.

V8 out-of-bounds memory vulnerabilities commonly arise from:

  1. Incorrect length computation — V8's JIT compiler or interpreter computes an incorrect buffer length based on JavaScript value types or object properties, leading to accesses past the buffer end
  2. Type confusion exploitation — a type confusion vulnerability allows treating a shorter buffer as a longer one, making operations on elements past the end appear valid
  3. JIT optimization flaw — V8's optimization passes make incorrect assumptions about value ranges or types, eliminating bounds checks that were present in the unoptimized code

Exploitation path for V8 OOB:

  1. Out-of-bounds read or write provides adjacent heap memory access
  2. Heap layout manipulation (heap spray/grooming) places controlled data in the adjacent memory region
  3. Reading the adjacent region leaks object pointers or type information (if OOB read)
  4. Writing the adjacent region corrupts V8 object metadata (if OOB write)
  5. Corruption is leveraged to achieve arbitrary heap read/write
  6. Function pointer or vtable overwrite achieves code execution in the renderer process

Cross-Browser Impact

V8 is embedded in multiple browsers beyond Chrome:

  • Google Chrome — primary target
  • Chromium — the open-source base for many browsers
  • Microsoft Edge (Chromium-based, from 2020 onward) — affected for equivalent Edge versions using the same V8 build
  • Opera — Chromium-based since 2013

Attack Characteristics

Attribute Detail
Attack Vector Network — crafted HTML page in Chrome/Chromium browser
User Interaction Required — visit malicious page
Impact Code execution in Chrome renderer process
Root Cause V8 out-of-bounds memory read/write
Multi-Browser Affects all Chromium-based browsers

Discovery

Reported to Google's Chrome security team and patched in Chrome 54.0.2840.100 (November 1, 2016). The NVD publication date of January 2017 reflects delayed formal publication after the Chrome release.

Exploitation Context

  • Browser engine exploitation complexity: V8 vulnerabilities are among the most technically complex to weaponize reliably — they require precise heap manipulation, knowledge of V8's internal object layout, and typically a second sandbox escape vulnerability for full OS access; this limits practical exploitation to sophisticated, well-resourced attackers
  • Chrome sandbox: Even successful V8 exploitation only achieves code execution in Chrome's renderer sandbox; a second vulnerability (sandbox escape) is needed for full OS access, increasing the full attack chain complexity
  • Chrome auto-update: Google Chrome's automatic update mechanism provides rapid patch deployment; most Chrome users receive security updates within days of release; enterprise environments with managed Chrome deployments or update restrictions extend exposure windows
  • CISA KEV (2022): Added June 2022, reflecting confirmed exploitation in active attack campaigns

Remediation

CISA BOD 22-01 Deadline: June 22, 2022. Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
  1. Update Google Chrome — upgrade to Chrome 54.0.2840.100 or later (any current Chrome version is patched by many subsequent updates). Chrome auto-updates by default — verify automatic updates are enabled in Chrome settings.

  2. Update Chromium-based browsers — ensure all Chromium-based browsers (Edge, Opera, Brave, etc.) are updated to versions using a fixed V8 build.

  3. Enable Chrome auto-updates — ensure Chrome's auto-update mechanism is not blocked by enterprise policy or network restrictions; Chrome browser security updates should be applied within days of release.

  4. Apply Site Isolation — Chrome's Site Isolation (enabled by default in Chrome 67+) limits the impact of renderer process compromises; maintain current Chrome for this and other mitigations.

Key Details

PropertyValue
CVE ID CVE-2016-5198
Vendor / Product Google — Chromium V8
NVD Published2017-01-19
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-125 — Out-of-Bounds Read 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
2016-11-01Google releases Chrome 54.0.2840.100 patching CVE-2016-5198 (V8 out-of-bounds memory)
2022-06-08Added to CISA Known Exploited Vulnerabilities catalog
2022-06-22CISA BOD 22-01 remediation deadline