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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-113654— ApostropheCMS sanitize-html: nonTextTags discard region ends early on an implied close, letting <noscript> content render

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.18.0 版本之前,若配置了非默认的 选项且其中包含 ,当 htmlparser2 在 标签内部发出一个隐式的祖先标签闭合时,该工具的“丢弃区域”可能会过早结束。由于支持脚本的浏览器将 中的内容视为原始文本,而解析器并未模拟该模式,原本应保持惰性的内容可能绕过清理并正常渲染。该问题并不适用于所有默认的 元素。此问题已在 san

CVSS 5.3 · Medium

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 2

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

I. Basic Information for CVE-2026-113654

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: nonTextTags discard region ends early on an implied close, letting <noscript> content render
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. Prior to sanitize-html 2.18.0, a non-default nonTextTags configuration that includes noscript can end its discard region early when htmlparser2 emits an implied ancestor close inside noscript. Because scripting-enabled browsers treat noscript content as raw text while the parser does not model that mode, content intended to remain inert can survive sanitization and render; the issue does not generalize to every default nonTextTags element. This issue is fixed in sanitize-html 2.18.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA: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.18.0 -

II. Public POCs for CVE-2026-113654

# 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-113654

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

Other References for CVE-2026-113654 (4)

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

CVE-2026-113711 7.5 HIGH ApostropheCMS: Unauthenticated resource exhaustion via pre-auth aposBigUpload processing i
CVE-2026-113658 7.5 HIGH ApostropheCMS: Unauthenticated CSV import requests leave rejected uploads in the system te
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-113661 5.4 MEDIUM ApostropheCMS: Incomplete CVE-2026-53606: `meta http-equiv=refresh` `content` still ships
CVE-2026-113662 5.4 MEDIUM ApostropheCMS import-export: NoSQL injection via update-key value lets a crafted import ma
CVE-2026-112958 5.4 MEDIUM ApostropheCMS: Stored XSS via Unescaped Widget Style Attribute Serialization
CVE-2026-112951 5.4 MEDIUM ApostropheCMS: Color field validation bypass allows stored XSS via HTML appended after rgb
CVE-2026-113668 5.3 MEDIUM ApostropheCMS: :_id/locales REST route omits the public-API authorization gate its sibling
CVE-2026-113670 5.3 MEDIUM ApostropheCMS: Page REST API authorization bypass
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
CVE-2026-113656 5.3 MEDIUM ApostropheCMS: Unauthenticated unbounded multipart upload → disk-exhaustion DoS

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-113654

No comments yet


Leave a comment