Description
ApostropheCMS is an open-source Node.js content management system. Prior to 2.17.6, sanitizeHtml() can pass disallowed executable markup through packages/sanitize-html/index.js when textarea or xmp is included in allowedTags because a literal solidus after the raw-text end-tag name is treated as text by htmlparser2 and the ontext handler emits that content without escaping, while a browser parses the following img onerror markup as active HTML. This issue is fixed in version 2.17.6.
Published: 2026-08-17
Score: 6.1 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

SanitizeHtml function within ApostropheCMS incorrectly handles a literal solidus following the end tag of textarea or xmp. Instead of treating the solidus as part of the markup, the parser emits it as plain text, allowing a crafted img element with an onerror attribute to be embedded. As a result, attackers can insert executable JavaScript into content that bypasses the input filter, leading to client‑side XSS when the page is rendered in a browser.

Affected Systems

The vulnerability affects ApostropheCMS installations using versions prior to 2.17.6. The affected component is the sanitize-html module invoked by the system’s content sanitization logic. All deployments of the open‑source Node.js CMS that rely on the default allowedTags configuration are potentially impacted.

Risk and Exploitability

The CVSS score of 6.1 indicates a medium severity issue, and the vulnerability is not listed in CISA’s KEV catalog. EPSS data is unavailable. Attackers who can submit or modify content that includes a literal </textarea/> tag are likely able to exploit the flaw, surfacing XSS in contexts where the CMS renders user input. The attack vector is inferred to be through the CMS administrative interface or API endpoints that accept rich‑text content. Given that browsers will execute the injected onerror handler, the impact is widespread for any user who views the compromised page.

Generated by OpenCVE AI on August 17, 2026 at 21:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ApostropheCMS to version 2.17.6 or later.
  • If an upgrade is delayed, review and remove the textarea and xmp tags from the allowedTags list or sanitize any content that contains a literal solidus after an end tag.
  • Implement a Content Security Policy that restricts inline JavaScript and disallows the execution of onerror handlers in images.

Generated by OpenCVE AI on August 17, 2026 at 21:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 17 Aug 2026 20:00:00 +0000

Type Values Removed Values Added
Description ApostropheCMS is an open-source Node.js content management system. Prior to 2.17.6, sanitizeHtml() can pass disallowed executable markup through packages/sanitize-html/index.js when textarea or xmp is included in allowedTags because a literal solidus after the raw-text end-tag name is treated as text by htmlparser2 and the ontext handler emits that content without escaping, while a browser parses the following img onerror markup as active HTML. This issue is fixed in version 2.17.6.
Title ApostropheCMS: Mutation-XSS / allowedTags bypass via literal `</textarea/>` solidus close
Weaknesses CWE-79
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-17T19:49:51.903Z

Reserved: 2026-07-17T14:47:08.032Z

Link: CVE-2026-63670

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-17T20:16:45.000

Modified: 2026-08-17T20:16:45.000

Link: CVE-2026-63670

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-17T21:45:03Z

Weaknesses
  • CWE-79

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