CVE-2015-1291
NoneCVSS
—
EPSS
1.7%
Published
Sep 3, 2015
CISA due date
—
Cloudanix analysis
An old flaw in Chrome could let a malicious website steal information from other sites or crash the browser for anyone still using a very outdated version.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The ContainerNode::parserRemoveChild function fails to validate whether a node removal is expected, enabling crafted JavaScript and IFRAME interactions to corrupt the DOM tree or violate same-origin boundaries.
Why it matters to the business
Users on outdated browser versions risk cross-origin data exposure or application instability when visiting malicious sites, potentially leading to information leaks or disrupted web sessions across large user bases.
How an attack unfolds
An attacker hosts a malicious page containing specially constructed JavaScript and IFRAME elements; when a victim browser renders the page, the flawed removal logic is triggered, resulting in either unauthorized cross-origin access or DOM corruption that can be leveraged for further attacks.
How to fix it
Upgrade Google Chrome to version 45.0.2454.85 or later; enforce enterprise browser update policies and retire unsupported versions.
How to confirm the fix worked
Verify installed Chrome version is at or above 45.0.2454.85; review browser release notes for the fix and test affected JavaScript/IFRAME patterns in a controlled environment.
Typical attack path
- Attacker crafts a web page with malicious JavaScript and nested IFRAMEs
- Victim browser loads the page and executes the script
- parserRemoveChild is invoked without expected-node validation
- DOM tree is corrupted or same-origin policy is bypassed
- Attacker exfiltrates data or causes denial of service
How to detect it
Examine web proxy or browser history logs for visits to suspicious domains around the time of any reported DOM-related anomalies; review JavaScript error logs or crash reports indicating unexpected node removals or IFRAME manipulation.
What your security team should do
- Immediately inventory and update all Chrome instances to a supported release
- Implement browser auto-update enforcement via group policy or MDM
- Monitor for any remaining legacy browser usage and block access to untrusted sites until remediated
The record
The ContainerNode::parserRemoveChild function in core/dom/ContainerNode.cpp in Blink, as used in Google Chrome before 45.0.2454.85, does not check whether a node is expected, which allows remote attackers to bypass the Same Origin Policy or cause a denial of service (DOM tree corruption) via a web site with crafted JavaScript code and IFRAME elements.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:8 | chromium-browser | 0 | 45.0.2454.85-1~deb8u1 |
| Mageia:4 | chromium-browser-stable | 0 | 45.0.2454.85-1.mga4 |
| Mageia:5 | chromium-browser-stable | 0 | 45.0.2454.85-1.mga5 |
| Red Hat:rhel_extras:6 | chromium-browser | 0 | 0:45.0.2454.85-2.el6 |
| Red Hat:rhel_extras:6 | chromium-browser-debuginfo | 0 | 0:45.0.2454.85-2.el6 |
| Ubuntu:14.04:LTS | chromium-browser | 0 | 45.0.2454.85-0ubuntu0.14.04.1.1097 |
| Ubuntu:14.04:LTS | oxide-qt | 0 | 1.9.1-0ubuntu0.14.04.2 |
| 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