CVE-2026-39857 Information Disclosure via `choices`/`counts` Query Parameters Bypassing publicApiProjection Field Restrictions

Medium 5.3 Published Updated

Unauthenticated attackers can bypass field restrictions in ApostropheCMS to extract sensitive distinct values and counts from the database via query parameters.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-39857?

CVE-2026-39857 is a medium-severity vulnerability in apostrophecms apostrophe, published on 15 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-200

Which versions are affected by CVE-2026-39857?

2 open source packages ship an affected version, including apostrophe. It affects 1 product.

PackageAffectedFixed in
apostrophe npmAll versions4.29.0
apostrophe npmAll versions4.29.0

Products include Apostrophecms Apostrophecms.

How do I fix CVE-2026-39857?

Upgrade apostrophe to 4.29.0 or later.

Is CVE-2026-39857 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-39857 exists.

Sources

Also known as GHSA-c276-fj82-f2pq.

Is CVE-2026-39857 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free