Description
ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, the color field accepts trailing content after a valid rgb() or hsl() prefix because its TinyColor validation does not require the entire value to match a color. An authenticated user with edit rights can store arbitrary HTML after a valid color prefix. When the stored value is rendered, the payload executes, resulting in stored XSS. This issue is fixed in version 4.34.0.
Published: 2026-10-20
Score: 5.4 Medium
EPSS: n/a
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Patch
AI Analysis

Impact

ApostropheCMS validates color fields by allowing any string that begins with a valid rgb() or hsl() prefix; the validation does not enforce that the entire input matches a color. As a result, an authenticated user can append arbitrary HTML after the prefix and store it as the color value. When the stored value is rendered on a page, the injected HTML executes in the visitor’s browser, producing a stored XSS vulnerability. The flaw is a classic example of a CWE‑79 weakness, where improper output encoding leads to script injection.

Affected Systems

All instances of ApostropheCMS version 4.33.x or earlier contain the buggy color field. The flaw resides in the apostrophecms:apostrophe component, which is the core CMS front‑end and back‑end code. Users running any of those releases are vulnerable unless a later version or a patch is applied.

Risk and Exploitability

The CVSS score of 5.4 indicates a moderate risk, and the EPSS score is currently unavailable, making it unclear how frequently the flaw is exploited. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to possess editing rights to the content; an authenticated editor can supply the malicious value, and any visitor to the page where the value is displayed will run the payload. Although it does not provide remote code execution outside the browser, XSS can lead to credential theft or phishing, escalating the threat to the system. The likelihood of exploitation is expected to be low to moderate given the credential requirement, but it remains a valid concern for environments that rely on untrusted editors or expose the CMS to wide audiences.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade ApostropheCMS to version 4.34.0 or newer.
  • If an immediate upgrade cannot be performed, restrict or revoke edit permissions for users that can modify color fields, or remove the color field from pages until the upgrade is applied.
  • Review and sanitize any legacy color field data in existing content, ensuring no trailing HTML remains embedded.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

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

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

Type Values Removed Values Added
Metrics ssvc

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


Tue, 20 Oct 2026 15:45:00 +0000

Type Values Removed Values Added
Description ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, the color field accepts trailing content after a valid rgb() or hsl() prefix because its TinyColor validation does not require the entire value to match a color. An authenticated user with edit rights can store arbitrary HTML after a valid color prefix. When the stored value is rendered, the payload executes, resulting in stored XSS. This issue is fixed in version 4.34.0.
Title ApostropheCMS: Color field validation bypass allows stored XSS via HTML appended after rgb()/hsl() prefix
Weaknesses CWE-79
References
Metrics cvssV3_1

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


Subscriptions

Apostrophecms Apostrophecms
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-20T16:43:32.126Z

Reserved: 2026-10-19T21:30:47.246Z

Link: CVE-2026-112951

cve-icon Vulnrichment

Updated: 2026-10-20T16:43:10.492Z

cve-icon NVD

Status : Deferred

Published: 2026-10-20T16:17:05.940

Modified: 2026-10-20T19:53:10.247

Link: CVE-2026-112951

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-79

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