Description
ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, 'POST /api/v1/@apostrophecms/doc/slugTaken' with body { "slug": "target-slug" } returns a boolean indicating whether a slug is in use across all document types and visibility levels, with no permission or type filter. Any logged-in user (including editors) can enumerate the slug space of private pages, drafts, and archived content. This issue is fixed in version 4.34.0.
Published: 2026-10-20
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Apply Patch
AI Analysis

Impact

ApostropheCMS’s endpoint 'POST /api/v1/@apostrophecms/doc/slugTaken' returns a simple boolean indicating whether a slug exists without filtering on visibility or content type. Because this endpoint is accessible to any authenticated user, an attacker can enumerate slugs for private or draft pages, revealing the existence of confidential or admin‑only content. The primary impact is the disclosure of information that can aid further attacks such as content reconnaissance or phishing. The vulnerability is described by CWE-200, an informational disclosure weakness.

Affected Systems

The flaw applies to all releases of ApostropheCMS built on Node.js that predate version 4.34.0, including the main 'apostrophecms:apostrophe' product. If a site is running any older major or minor release where the endpoint lacks the permission check, it is vulnerable.

Risk and Exploitability

The CVSS score of 4.3 indicates moderate risk. EPSS data is currently unavailable, and the vulnerability is not listed in the CISA KEV catalog, suggesting no known widespread exploitation. The attack vector requires authenticated access, so the threat is limited to users who have legitimate login credentials. However, the ease of enumerating slugs could be leveraged by attackers to discover hidden routes or craft targeted credential‑stuffing campaigns.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade ApostropheCMS to version 4.34.0 or a later release that removes the permission check on the slugTaken endpoint.
  • Ensure user permissions are correctly configured so that only users with the appropriate roles have access to private or draft content through the API.
  • Monitor API usage logs for repeated calls to /api/v1/@apostrophecms/doc/slugTaken from authenticated accounts to detect potential enumeration attempts.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-f66c-mpj2-3r8h ApostropheCMS: POST /api/v1/@apostrophecms/doc/slugTaken discloses existence of private/admin-only content to any authenticated user
History

Wed, 21 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


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 16:00:00 +0000

Type Values Removed Values Added
Description ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, 'POST /api/v1/@apostrophecms/doc/slugTaken' with body { "slug": "target-slug" } returns a boolean indicating whether a slug is in use across all document types and visibility levels, with no permission or type filter. Any logged-in user (including editors) can enumerate the slug space of private pages, drafts, and archived content. This issue is fixed in version 4.34.0.
Title ApostropheCMS: POST /api/v1/@apostrophecms/doc/slugTaken discloses existence of private/admin-only content to any authenticated user
Weaknesses CWE-200
References
Metrics cvssV3_1

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


Subscriptions

Apostrophecms Apostrophecms
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-21T15:53:58.636Z

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

Link: CVE-2026-112952

cve-icon Vulnrichment

Updated: 2026-10-21T14:24:32.677Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-21T16:17:15.447

Link: CVE-2026-112952

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor