Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

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

Quick assessment

Affected
apostrophecms apostrophe
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

ApostropheCMS 是一个基于 Node.js 的开源内容管理系统,而 sanitize-html 则提供了一个具有清晰 API 的简单 HTML 清理工具。在 sanitize-html 2.17.7 至 2.18.0 版本中,如果应用配置允许使用带命名空间前缀的 SVG 动画元素及其相关的 URL 目标属性,则可绕过 SMIL URL 保护机制。这是因为带前缀的标签名称无法与未带前缀的动画元素检查规则匹配。该绕过漏洞可在渲染清理后的 SVG 后,将链接目标重写为不安全的 URI;当用户激活受影响的链接时

CVSS 3.7 · Low

Affected Version Matrix 2

VendorProduct Version RangeStatus
apostrophecms apostrophe < 4.33.0 affected
apostrophecms sanitize-html >= 2.17.7, < 2.18.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-113657

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
ApostropheCMS sanitize-html: SMIL animation namespace-prefix bypass allows javascript: URI injection (XSS)
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
apostrophecms apostrophe < 4.33.0 -
apostrophecms sanitize-html >= 2.17.7, < 2.18.0 -

II. Public POCs for CVE-2026-113657

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-113657

请登录查看更多情报信息。

Other References for CVE-2026-113657 (4)

Same Patch Batch · apostrophecms · 2026-10-20 · 33 CVEs total

CVE-2026-113658 7.5 HIGH ApostropheCMS: Unauthenticated CSV import requests leave rejected uploads in the system te
CVE-2026-113711 7.5 HIGH ApostropheCMS: Unauthenticated resource exhaustion via pre-auth aposBigUpload processing i
CVE-2026-113666 7.1 HIGH ApostropheCMS: Authenticated projection-exclusion prototype-member deletion in @apostrophe
CVE-2026-113653 6.9 MEDIUM ApostropheCMS: The general public can access @apostrophecms/user objects via a relationshi
CVE-2026-112956 6.5 MEDIUM ApostropheCMS: Archive duplicate continuation lets contributors overwrite published conten
CVE-2026-112955 6.5 MEDIUM ApostropheCMS: Import archives can exhaust server storage and deny service
CVE-2026-113649 6.5 MEDIUM ApostropheCMS: Import API bypasses publication roles for protected content
CVE-2026-113659 6.1 MEDIUM ApostropheCMS: Client-side Prototype Pollution in apos.http.parseQuery leading to DOM-base
CVE-2026-112953 6.0 MEDIUM ApostropheCMS: Exposure of Sensitive Information via predictable export filenames
CVE-2026-113710 5.9 MEDIUM ApostropheCMS: No Attempt Throttling on Authenticated Password-Change Endpoint Enables Unl
CVE-2026-113652 5.6 MEDIUM ApostropheCMS uploadfs Azure backend leaks account-level SAS token into every public attac
CVE-2026-113662 5.4 MEDIUM ApostropheCMS import-export: NoSQL injection via update-key value lets a crafted import ma
CVE-2026-112951 5.4 MEDIUM ApostropheCMS: Color field validation bypass allows stored XSS via HTML appended after rgb
CVE-2026-112958 5.4 MEDIUM ApostropheCMS: Stored XSS via Unescaped Widget Style Attribute Serialization
CVE-2026-113661 5.4 MEDIUM ApostropheCMS: Incomplete CVE-2026-53606: `meta http-equiv=refresh` `content` still ships
CVE-2026-113656 5.3 MEDIUM ApostropheCMS: Unauthenticated unbounded multipart upload → disk-exhaustion DoS
CVE-2026-113670 5.3 MEDIUM ApostropheCMS: Page REST API authorization bypass
CVE-2026-113668 5.3 MEDIUM ApostropheCMS: :_id/locales REST route omits the public-API authorization gate its sibling
CVE-2026-113669 5.3 MEDIUM ApostropheCMS: Cross-domain session token in URL confers session takeover
CVE-2026-113667 5.3 MEDIUM ApostropheCMS: CAPTCHA response token not URL-encoded

Showing top 20 of 33 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-113657

No comments yet


Leave a comment