Horizon Alert
Summary of the vulnerability and why it matters
A vulnerability in a widely used content sanitization library, `sanitize-html`, could allow malicious content to execute as live HTML or JavaScript within applications. This bypasses the intended security controls, potentially leading to stored cross-site scripting attacks if user-provided content is rendered back to other users.
- Content sanitization can be bypassed.
- Affects how user content is displayed.
- Confirm relevance and check for exposure.
Attack Path
How an attacker could exploit the issue
An attacker could exploit this by submitting specially crafted content to a web application that uses a vulnerable version of the `sanitize-html` library. If the application renders this content back to users without proper sanitization, the attacker-controlled input within an `xmp` tag could be interpreted as live HTML or JavaScript, leading to cross-site scripting.
- Content can be submitted to the application.
- The library fails to sanitize `xmp` tags.
- Stored XSS can impact users.
Live Threat
Current exploitation, exposure, and threat context
This vulnerability could allow attackers to inject malicious HTML or JavaScript into web applications that use `sanitize-html` in its default configuration. When user-supplied content, specifically within an `xmp` element, is processed by a vulnerable version of the sanitizer, it may be rendered as executable code. This could occur in applications that display user-generated content without adequate further sanitization, potentially impacting stored data and user sessions.
- Stored HTML and JavaScript could be affected.
- Attacker-controlled content in `xmp` elements.
- Stored cross-site scripting (XSS) could occur.
Priority actions
Operational Fix
Recommended remediation, mitigation, and detection steps
Application and platform teams are responsible for addressing this vulnerability in ApostropheCMS and its `sanitize-html` dependency. The first step is to identify all deployments of `sanitize-html`, confirm their reachability and criticality, and then assign ownership for remediation.
- Own the issue: Application and Platform Teams.
- Verify first: Identify vulnerable instances.
- Action: Plan and coordinate updates.