CVE-2015-6789
NoneCVSS
—
EPSS
1.7%
Published
Dec 14, 2015
CISA due date
—
Cloudanix analysis
An old flaw in early Chrome versions could let a malicious website crash the browser or potentially take control when a user visits the page.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Application
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in MutationObserver allows unanticipated object deletion leading to use-after-free, enabling denial of service or potential remote code execution.
Why it matters to the business
Older browser versions remain exposed to crashes or compromise when users visit malicious web content, increasing support costs and risk for organizations still running outdated Chrome deployments years after disclosure.
How an attack unfolds
An attacker hosts a webpage containing crafted JavaScript that rapidly mutates the DOM while MutationObserver callbacks are active, winning the race to delete objects and trigger the use-after-free condition.
How to fix it
Upgrade Google Chrome to version 47.0.2526.80 or later; ensure automatic updates are enabled and audit any pinned older versions across the fleet.
How to confirm the fix worked
Confirm all instances report version 47.0.2526.80 or newer via chrome://version or enterprise management consoles; retest any internal web applications that previously exercised heavy MutationObserver usage.
Typical attack path
- Serve malicious webpage to target browser
- Execute JavaScript that schedules concurrent DOM mutations and observer callbacks
- Trigger object deletion during observer processing to induce use-after-free
- Leverage freed memory for denial of service or further memory corruption
How to detect it
Review browser crash logs and memory dumps for use-after-free signatures in Blink rendering paths; correlate with web request logs showing visits to untrusted domains around the time of the crash.
What your security team should do
- Immediately enforce browser updates to 47.0.2526.80+ via policy
- Block or sandbox legacy browser instances that cannot be updated
- Monitor for browser crash reports correlated with web navigation
- Review web application code for heavy reliance on MutationObserver and add defensive checks
The record
Race condition in the MutationObserver implementation in Blink, as used in Google Chrome before 47.0.2526.80, allows remote attackers to cause a denial of service (use-after-free) or possibly have unspecified other impact by leveraging unanticipated object deletion.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:8 | chromium-browser | 0 | 47.0.2526.80-1~deb8u1 |
| Mageia:5 | chromium-browser-stable | 0 | 47.0.2526.80-1.mga5 |
| Red Hat:rhel_extras:6 | chromium-browser | 0 | 0:47.0.2526.80-1.el6 |
| Red Hat:rhel_extras:6 | chromium-browser-debuginfo | 0 | 0:47.0.2526.80-1.el6 |
| Ubuntu:14.04:LTS | chromium-browser | 0 | 47.0.2526.106-0ubuntu0.14.04.1.1107 |
| Ubuntu:14.04:LTS | oxide-qt | 0 | 1.11.4-0ubuntu0.14.04.1 |
| 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