ApostropheCMS: Color field validation bypass allows stored XSS via HTML appended after rgb()/hsl() prefix (apostrophecms apostrophe)

CVE-2026-112951
MEDIUM 5.4

At a glance

Source
NVD
EPSS
EPSS 0.30 % Β· percentile 23 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Deferred

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.

Weaknesses (CWE)

  • CWE-79 β€” Improper Neutralization of Input During Web Page Generation

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.4CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:NGitHub_M
CVSS 3.1MEDIUM 5.4CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:NNVD Β· security-advisories@github.com (Secondary)

Advisories

European references

Affected products

ProductVersions
apostrophecms Β· apostropheaffected < 4.34.0

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST β€” attribution requested
ENISA EUVDENISA β€” reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain β€” this product uses data from the NVD API but is not endorsed or certified by the NVD