# CVE-2026-113660: ApostropheCMS authorization bypass in exist-in-locale API

Source: https://junglewise.ai/threats/cve-2026-113660-apostrophecms-authenticated-object-level-authorization-bypass-in  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-20. Updated: 2026-10-20  
License: CC BY 4.0 with a link back

CVE-2026-113660 · Severity: medium · CVSS 4.3 · Published 2026-10-20

ApostropheCMS is a headless CMS that manages content in multiple languages and publication states. An authenticated user with low privileges can discover whether restricted draft documents exist in specific languages and obtain their internal identifiers, without needing permission to view those documents. This allows an attacker to enumerate and locate confidential content they shouldn't know about.

Technologies: [ApostropheCMS Apostrophe](https://junglewise.ai/threats/technologies/apostrophecms-apostrophe), [apostrophe (npm)](https://junglewise.ai/threats/technologies/apostrophe). Vendors: [ApostropheCMS](https://junglewise.ai/threats/vendors/apostrophecms), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-113660 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-113660 being exploited in the wild.

**How severe is CVE-2026-113660?** Medium severity, with a CVSS score of 4.3, published 20 October 2026.

**Which products and versions are affected?** ApostropheCMS Apostrophe versions prior to fix; apostrophe (npm) < 4.33.0, SEMVER:introduced=0,fixed=4.33.0.

**Is there a fix for CVE-2026-113660?** Yes. apostrophe (npm): upgrade to 4.33.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-113660 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-113660?** Check whether you run ApostropheCMS Apostrophe or apostrophe (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- apostrophe (npm): upgrade to 4.33.0 or later

  ```sh
  npm install apostrophe@4.33.0
  ```


## Technical details

The exist-in-locale API endpoint performs a direct database query based on user-supplied document IDs, locale, and mode parameters without applying document-level authorization checks. An authenticated attacker can bulk-probe arbitrary document IDs to determine existence, locale availability, and draft status. The endpoint returns localized document identifiers that would be rejected by the normal page API, creating an authorization bypass via information disclosure.

## Affected products

- ApostropheCMS Apostrophe versions prior to fix

## Identifiers

- CVE-2026-113660
- GHSA-vmxh-77cw-65j7

## Timeline

- 2026-10-20: disclosed

## Related threats

- [ApostropheCMS unauthenticated file upload in import routes](https://junglewise.ai/threats/cve-2026-113711-apostrophecms-is-an-open-source-node-js-content-management)
- [ApostropheCMS password-change endpoint lacks attempt throttling](https://junglewise.ai/threats/cve-2026-113710-apostrophecms-no-attempt-throttling-on-authenticated-password)
- [ApostropheCMS page REST API authorization bypass](https://junglewise.ai/threats/cve-2026-113670-apostrophecms-page-rest-api-authorization-bypass)
- [ApostropheCMS cross-domain session token in URL confers session takeover](https://junglewise.ai/threats/cve-2026-113669-apostrophecms-cross-domain-session-token-in-url-confers-session)
- [ApostropheCMS REST route authorization bypass in locales endpoint](https://junglewise.ai/threats/cve-2026-113668-apostrophecms-id-locales-rest-route-omits-the-public-api)
