> CVE-2026-39857 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-04-15 20:16
MODIFIED
2026-04-15 20:16
CVSS_SCORE V3
5.3
EPSS (Prob. Exploit)
0.43%
Top 61.9%
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 an authorization bypass vulnerability in the choices and counts query parameters of the REST API, where these query builders execute MongoDB distinct() operations that bypass the publicApiProjection restrictions intended to limit which fields are exposed publicly. The choices and counts parameters are processed via applyBuildersSafely before the projection is applied, and MongoDB's distinct operation does not respect projections, returning all distinct values directly. The results are returned in the API response without any filtering against publicApiProjection or removeForbiddenFields. An unauthenticated attacker can extract all distinct field values for any schema field type that has a registered query builder, including string, integer, float, select, boolean, date, slug, and relationship fields. Fields protected with viewPermission are similarly exposed, and the counts variant additionally reveals how many documents have each distinct value. Both the piece-type and page REST APIs are affected. 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:N/UI:N/S:U/C:L/I:N/A:N
EXPLOITABILITY
3.9
IMPACT
1.4

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/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
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
Low (L)
Divulgation limitée d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de 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é
None
Aucune modification de données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-200

> CWE DETAILED DESCRIPTIONS

CWE-200: Exposure of Sensitive Information to an Unauthorized Actor - The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.

> GITHUB SECURITY ADVISORY

GHSA-c276-fj82-f2pq MODERATE

ApostropheCMS: Information Disclosure via choices/counts Query Parameters Bypassing publicApiProjection Field Restrictions

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

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Information Disclosure via `choices`/`counts` Query Parameters Bypassing publicApiProjection Field Restrictions

AFFECTED PACKAGES:
Unknown / Unknown
670 versions affected
ALIASES:
GHSA-c276-fj82-f2pq

> HISTORIQUE DES MODIFICATIONS

Première apparition
15/04/2026 20:16
Source: NVD
📊 ENRICHISSEMENT 01/05/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor - The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
Total des modifications: 1 Dernière mise à jour: 6 months ago

> REFERENCES

https://github.com/apostrophecms/apostrophe/commit/6c2b548dec2e3f7a82e8e16736603...
https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-c276-fj82-f...
« BACK_TO_HOME