CVE-2026-113670
Received Received - Intake

ApostropheCMS Page Content Exposure via Unauthenticated Access

Vulnerability report for CVE-2026-113670, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-20

Last updated on: 2026-10-20

Assigner: GitHub, Inc.

Description

ApostropheCMS is an open-source Node.js content management system. Prior to 4.33.0, the core page REST API reads full page documents with .permission(false) in getOne and in the all=1 tree dump, bypassing page-type viewRole, visibility: private, and visibility: loginRequired checks. Unauthenticated visitors and low-privilege contributors can read admin-only and non-public page content by _id/slug. This issue is fixed in version 4.33.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-20
Last Modified
2026-10-20
Generated
2026-10-20
AI Q&A
2026-10-20
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
apostrophecms apostrophe < 4.33.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-863 The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

ApostropheCMS versions before 4.33.0 have an authorization bypass in the Page REST API. The getOne method and all=1 tree dump endpoint use .permission(false), which skips viewRole, visibility: private, and visibility: loginRequired checks. This allows unauthenticated users and low-privilege contributors to read admin-only or non-public page content by accessing pages via _id or slug.

Detection Guidance

Check ApostropheCMS version with npm list apostrophe or grep package.json for version prior to 4.33.0. Inspect server logs for unusual GET requests to /api/v3/pages/get-one or /api/v3/pages/all=1 endpoints targeting non-public pages. Use curl to test endpoints like curl http://<host>/api/v3/pages/get-one?id=<admin_page_id> to verify unauthorized access.

Impact Analysis

Unauthenticated attackers could access sensitive or restricted page content, including admin-only pages and private site structure details. This could lead to data leaks, unauthorized information exposure, or further exploitation of the system.

Compliance Impact

This vulnerability could violate compliance requirements that mandate strict access controls for sensitive data, such as GDPR's data protection principles or HIPAA's safeguards for protected health information. Unauthorized access risks non-compliance and potential legal penalties.

Mitigation Strategies

Upgrade ApostropheCMS to version 4.33.0 or later immediately. Remove .permission(false) from getOne and all handlers in the codebase. Review and reapply type-specific viewRole and visibility checks for private and loginRequired pages. Monitor for unauthorized access attempts post-update.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-113670. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart