CVE-2026-113657: ApostropheCMS sanitize-html: SMIL animation namespace-prefix bypass allows javascript: URI injection (XSS)

Published Oct 20, 2026
·
Updated

ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. From sanitize-html 2.17.7 until 2.18.0, an application configuration that permits namespace-prefixed SVG animation elements and the relevant URL-targeting attributes can bypass the SMIL URL protection because prefixed tag names do not match the unprefixed animation-element check. The bypass can rewrite a link destination to an unsafe URI after the sanitized SVG is rendered, with script execution occurring when a user activates the affected link; the default sanitizer configuration is not unconditionally affected. This issue is fixed in sanitize-html 2.18.0.

Affected Software

1 affected component
npm/sanitize-html>=2.17.7<2.18.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade sanitize-html to a version that resolves this vulnerability.

    Fixed in 2.18.0

Event History

Oct 20, 2026
CVE Published
via MITRE·04:54 PM
Data Sourced
via MITRE·04:54 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Only applications using sanitize-html versions from 2.17.7 up to, but not including, 2.18.0 are potentially exposed, and only when their sanitizer configuration permits namespace-prefixed SVG animation elements together with the relevant URL-targeting attributes. The default configuration is not unconditionally affected.

2

What must an attacker do to exploit this issue?

An attacker must supply sanitized SVG content using namespace-prefixed SMIL animation elements that bypass the animation-element check and rewrite a link destination to an unsafe URI. Script execution occurs only when a user activates the affected rendered link.

3

What should be done if upgrading is not immediately possible?

Review the sanitize-html configuration and avoid allowing namespace-prefixed SVG animation elements and the relevant URL-targeting attributes together. This removes the configuration condition described as enabling the bypass.

4

How can I determine whether an application is affected?

Check whether the application uses sanitize-html 2.17.7 through 2.17.9 and whether its configuration allows namespace-prefixed SVG animation elements and URL-targeting attributes. Applications on sanitize-html 2.18.0 are fixed.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203