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.
Published: 2026-10-20
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Cross-site scripting
Action: Patch
AI Analysis

Impact

ApostropheCMS uses the sanitize-html library to filter user supplied HTML. Prior to version 2.18.0 a non‑default nonTextTags setting that includes the <noscript> tag can mis‑handle the parser’s implied close events. When the parser emits an implied ancestor close inside the <noscript> tag, the sanitizer prematurely ends the region that should be discarded. As a result, content that was intended to be inert can survive the sanitization process and be rendered by browsers. The unintended rendering of <noscript> payloads can lead to client‑side script execution (cross‑site scripting) if the injected content contains malicious code, compromising confidentiality, integrity, or availability of the web application.

Affected Systems

The vulnerability affects any installation of the ApostropheCMS content management system that uses the sanitize-html library with a non‑default nonTextTags configuration that include the noscript element. Versions of sanitize-html older than 2.18.0 are impacted. The fix is implemented in sanitize-html 2.18.0 and later releases. No specific patch level is listed for ApostropheCMS itself, so any deployment that relies on sanitize-html prior to that release is vulnerable.

Risk and Exploitability

The CVSS score of 5.3 reflects a moderate severity vulnerability that can be exploited when a user submits HTML containing a <noscript> element with malicious content. The EPSS score is not available, so current exploit probability is unknown. The vulnerability is not listed in the CISA KEV catalog. An attacker with access to the CMS’s content entry points can craft an input that includes a <noscript> section containing JavaScript or other payloads. Because browsers treat <noscript> content as raw text, the payload would be rendered and executed when the page loads, enabling session hijacking, data theft, or defacement. The attack vector is web‑based, requiring interaction with a form or API that accepts HTML. The lack of validation or proper handling of <noscript> elevates the risk for users who navigate compromised content.

Generated by OpenCVE AI on October 20, 2026 at 18:39 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade sanitize-html to version 2.18.0 or later to apply the vendor’s fix.
  • Verify that the nonTextTags configuration does not include <noscript> or reset it to its default state.
  • Review any custom input sanitization logic or plugins to ensure that <noscript> elements are properly stripped or escaped.

Generated by OpenCVE AI on October 20, 2026 at 18:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-x3q4-9hxx-gx8m ApostropheCMS sanitize-html: nonTextTags discard region ends early on an implied close, letting <noscript> content render
History

Wed, 28 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 21 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N'}

threat_severity

Moderate


Tue, 20 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Apostrophecms
Apostrophecms apostrophecms
Apostrophecms sanitize-html
Vendors & Products Apostrophecms
Apostrophecms apostrophecms
Apostrophecms sanitize-html

Tue, 20 Oct 2026 17:00:00 +0000

Type Values Removed Values Added
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.
Title ApostropheCMS sanitize-html: nonTextTags discard region ends early on an implied close, letting <noscript> content render
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 5.3, 'vector': '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'}


Subscriptions

Apostrophecms Apostrophecms Sanitize-html
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-28T14:01:09.403Z

Reserved: 2026-10-20T14:27:46.641Z

Link: CVE-2026-113654

cve-icon Vulnrichment

Updated: 2026-10-28T14:00:40.916Z

cve-icon NVD

Status : Deferred

Published: 2026-10-20T17:17:36.370

Modified: 2026-10-28T14:16:56.730

Link: CVE-2026-113654

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-20T16:35:55Z

Links: CVE-2026-113654 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T20:15:06Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')