CVE-2016-1612
High · 7.6CVSS
7.6
EPSS
1.1%
Published
Jan 25, 2016
CISA due date
—
Cloudanix analysis
A flaw in an older version of the Chrome browser lets attackers crash it or potentially take control if a user visits a specially made webpage.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The LoadIC::UpdateCaches function in V8 performs an unsafe cast without first verifying receiver object compatibility, enabling type confusion that can lead to memory corruption, crashes, or other undefined behavior when processing crafted JavaScript.
Why it matters to the business
Remote attackers can crash browsers or potentially achieve code execution on systems running vulnerable Chrome versions, resulting in user disruption, data exposure, or further compromise; the issue affects a widely deployed browser with high ecosystem prevalence even years after disclosure.
How an attack unfolds
An attacker crafts JavaScript that reaches LoadIC::UpdateCaches with an incompatible receiver, embeds the payload in a web page, and lures victims to visit it; successful exploitation triggers the unsafe cast path in V8.
How to fix it
Upgrade Google Chrome to version 48.0.2564.82 or later; apply the fix across all managed endpoints and verify that no older builds remain in use.
How to confirm the fix worked
Confirm the installed Chrome version meets or exceeds 48.0.2564.82; re-test affected JavaScript patterns in a controlled environment to ensure the cast check is present.
Typical attack path
- Craft JavaScript that exercises LoadIC::UpdateCaches with an incompatible receiver
- Host the payload on a web server under attacker control
- Deliver a link or redirect the victim to the malicious page
- Trigger inline cache update logic during JavaScript execution
How to detect it
Review browser crash logs and V8-related fault reports for patterns consistent with LoadIC failures; inspect web proxy and endpoint logs for visits to domains hosting suspicious JavaScript.
What your security team should do
- Immediately deploy Chrome 48.0.2564.82 or newer to all users
- Audit endpoints for any remaining pre-48 builds and force updates via policy
- Monitor browser crash reports and web proxy logs for suspicious JavaScript activity
The record
The LoadIC::UpdateCaches function in ic/ic.cc in Google V8, as used in Google Chrome before 48.0.2564.82, does not ensure receiver compatibility before performing a cast of an unspecified variable, which allows remote attackers to cause a denial of service or possibly have unknown other impact via crafted JavaScript code.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:8 | chromium-browser | 0 | 48.0.2564.82-1~deb8u1 |
| Mageia:5 | chromium-browser-stable | 0 | 48.0.2564.97-1.mga5 |
| Red Hat:rhel_extras:6 | chromium-browser | 0 | 0:48.0.2564.82-1.el6 |
| Red Hat:rhel_extras:6 | chromium-browser-debuginfo | 0 | 0:48.0.2564.82-1.el6 |
| Ubuntu:14.04:LTS | chromium-browser | 0 | 48.0.2564.82-0ubuntu0.14.04.1.1108 |
| Ubuntu:14.04:LTS | oxide-qt | 0 | 1.12.5-0ubuntu0.14.04.1 |
| Ubuntu:16.04:LTS | chromium-browser | 0 | 48.0.2564.82-0ubuntu1.1222 |
| Ubuntu:16.04:LTS | libv8-3.14 | 0 | No fix |
| Ubuntu:16.04:LTS | oxide-qt | 0 | 1.12.5-0ubuntu1 |
| Ubuntu:18.04:LTS | libv8-3.14 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libv8-3.14 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libv8-3.14 | 0 | No fix |
| openSUSE:Tumbleweed | chromium | 0 | 55.0.2883.75-3.1 |
| openSUSE:Tumbleweed | chromium | 0 | 113.0.5672.92-1.1 |
Related vulnerabilities
- CVE-2016-9651 A missing check for whether a property of a JS object is private in V8 in Google Chrome… Also affects chromium-browser
- CVE-2017-5029 The xsltAddTextString function in transform.c in libxslt 1.1.29, as used in Blink in… Also affects chromium-browser
- CVE-2017-5040 V8 in Google Chrome prior to 57.0.2987.98 for Mac, Windows, and Linux and 57.0.2987.108… Also affects chromium-browser
- CVE-2017-5030 Incorrect handling of complex species in V8 in Google Chrome prior to 57.0.2987.98 for… Also affects chromium-browser
- CVE-2017-5006 Blink in Google Chrome prior to 56.0.2924.76 for Linux, Windows and Mac, and 56.0.2924.87… Also affects chromium-browser
- CVE-2016-5198 V8 in Google Chrome prior to 54.0.2840.90 for Linux, and 54.0.2840.85 for Android, and… Also affects chromium-browser
- CVE-2016-5204 Leaking of an SVG shadow tree leading to corruption of the DOM tree in Blink in Google… Also affects chromium-browser
- CVE-2016-5170 WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp in Blink, as used in Google… Also affects chromium-browser