CVE-2015-1209
NoneCVSS
—
EPSS
2.9%
Published
Feb 6, 2015
CISA due date
—
Cloudanix analysis
A flaw in older web browsers can let attackers crash the program or potentially take control when users visit specially crafted websites.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in VisibleSelection::nonBoundaryShadowTreeRootNode during shadow DOM anchor handling allows memory corruption via crafted JavaScript.
Why it matters to the business
Attackers can crash browsers or gain control on affected systems, leading to downtime, data exposure, or further compromise across user devices and enterprise endpoints.
How an attack unfolds
An attacker hosts a malicious webpage containing JavaScript that manipulates shadow DOM structures to trigger improper anchor handling, causing the browser to access freed memory and enabling denial of service or potential code execution.
How to fix it
Update affected browsers to patched versions that resolve the DOM handling flaw and apply vendor security updates promptly across all platforms.
How to confirm the fix worked
Verify browser version meets or exceeds the fixed release, test crafted shadow DOM JavaScript cases in isolated environments, and confirm absence of the vulnerable code path through source or binary inspection.
Typical attack path
- Attacker crafts and hosts a webpage with malicious JavaScript targeting shadow root anchors
- Victim is lured to visit the page using a vulnerable browser version
- JavaScript executes and triggers the use-after-free condition in DOM selection logic
- Memory corruption occurs, resulting in crash or potential arbitrary code execution
How to detect it
Review browser crash logs and memory dumps for patterns involving shadow DOM or VisibleSelection functions; inspect web proxy logs for access to suspicious pages that heavily manipulate DOM trees.
What your security team should do
- Prioritize browser updates on all endpoints due to widespread platform exposure
- Enforce automatic updates and restrict legacy browser usage
- Monitor for anomalous browser crashes or memory-related errors in telemetry
- Educate users on avoiding untrusted web content
The record
Use-after-free vulnerability in the VisibleSelection::nonBoundaryShadowTreeRootNode function in core/editing/VisibleSelection.cpp in the DOM implementation in Blink, as used in Google Chrome before 40.0.2214.111 on Windows, OS X, and Linux and before 40.0.2214.109 on Android, allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted JavaScript code that triggers improper handling of a shadow-root anchor.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Mageia:4 | chromium-browser-stable | 0 | 40.0.2214.111-1.mga4 |
| Red Hat:rhel_extras:6 | chromium-browser | 0 | 0:40.0.2214.111-1.el6_6 |
| Red Hat:rhel_extras:6 | chromium-browser-debuginfo | 0 | 0:40.0.2214.111-1.el6_6 |
| Ubuntu:14.04:LTS | chromium-browser | 0 | 40.0.2214.111-0ubuntu0.14.04.1.1069 |
| Ubuntu:14.04:LTS | oxide-qt | 0 | 1.4.3-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-2015-1291 The ContainerNode::parserRemoveChild function in core/dom/ContainerNode.cpp in Blink, as… Also affects chromium-browser-stable
- CVE-2015-1266 content/browser/webui/content_web_ui_controller_factory.cc in Google Chrome before… Also affects chromium-browser-stable
- CVE-2015-1253 core/html/parser/HTMLConstructionSite.cpp in the DOM implementation in Blink, as used in… Also affects chromium-browser-stable
- CVE-2015-1243 Use-after-free vulnerability in the MutationObserver::disconnect function in… Also affects chromium-browser-stable
- CVE-2015-1235 The ContainerNode::parserRemoveChild function in core/dom/ContainerNode.cpp in the HTML… Also affects chromium-browser-stable
- CVE-2015-1233 Google Chrome before 41.0.2272.118 does not properly handle the interaction of IPC, the… Also affects chromium-browser-stable
- CVE-2015-1213 The SkBitmap::ReadRawPixels function in core/SkBitmap.cpp in the filters implementation… Also affects chromium-browser-stable
- CVE-2014-7904 Buffer overflow in Skia, as used in Google Chrome before 39.0.2171.65, allows remote… Also affects chromium-browser-stable