> CVE-2026-33889 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-04-15 20:16
MODIFIED
2026-04-15 20:16
CVSS_SCORE V3
5.4
EPSS (Prob. Exploit)
0.22%
Top 87.1%
DATA SOURCES:
NVD 🔗 2026-04-15 CWE MITRE 🔗 2026-11-01 FIRST EPSS 🔗 2026-11-08 GITHUB 🔗 2026-11-05 OSV 🔗 2026-11-02

> DESCRIPTION

ApostropheCMS is an open-source Node.js content management system. Versions 4.28.0 and prior contain a stored cross-site scripting vulnerability in the @apostrophecms/color-field module, where color values prefixed with -- bypass TinyColor validation intended for CSS custom properties, and the launder.string() call performs only type coercion without stripping HTML metacharacters. These unsanitized values are then concatenated directly into <style> tags both in per-widget style elements rendered for all visitors and in the global stylesheet rendered for editors, with the output marked as safe HTML. An editor can inject a value which closes the style tag and executes arbitrary JavaScript in the browser of every visitor to any page containing the affected widget. This enables mass session hijacking, cookie theft, and privilege escalation to administrative control if an admin views draft content. This issue has been fixed in version 4.29.0.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
EXPLOITABILITY
2.3
IMPACT
2.7

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
Low (L)
Authentifié avec compte utilisateur basique
UI (Interaction Utilisateur)
User Interaction
Required (R)
Nécessite une action utilisateur (clic lien, ouverture fichier, etc.)
S (Périmètre)
Scope
Changed (C)
Impact s'étend au-delà du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
Low (L)
Divulgation limitée d'informations
I (Impact Intégrité)
Integrity Impact
Low (L)
Modification limitée des données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
Low
Divulgation limitée d'informations
Intégrité
Low
Modification limitée des données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-79

> CWE DETAILED DESCRIPTIONS

CWE-79: Improper Neutralization of Input During Web Page Generation - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

> GITHUB SECURITY ADVISORY

GHSA-97v6-998m-fp4g MODERATE

ApostropheCMS: Stored XSS via CSS Custom Property Injection in @apostrophecms/color-field Escaping Style Tag Context

AFFECTED PACKAGES:
NPM / apostrophe
< 4.29.0
Fixed in: 4.29.0

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

ApostropheCMS: Stored XSS via CSS Custom Property Injection in `@apostrophecms/color-field` Escaping Style Tag Context

AFFECTED PACKAGES:
Unknown / Unknown
670 versions affected
ALIASES:
GHSA-97v6-998m-fp4g

> HISTORIQUE DES MODIFICATIONS

Première apparition
15/04/2026 20:16
Source: NVD
📊 ENRICHISSEMENT 01/11/2026 06:59
CWE
Champ modifié: Description CWE
Ancienne valeur:
CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in...
Nouvelle valeur:
CWE-79: Improper Neutralization of Input During Web Page Generation - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a...
📊 ENRICHISSEMENT 01/05/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in...
Total des modifications: 2 Dernière mise à jour: 1 week ago

> REFERENCES

https://github.com/apostrophecms/apostrophe/commit/6a89bdb7acdb2e1e9bf1429961a6b...
https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-97v6-998m-f...
« BACK_TO_HOME