# CVE-2026-53609: ApostropheCMS prototype pollution in apos.util.set leads to auth bypass

Source: https://junglewise.ai/threats/cve-2026-53609-apostrophecms-prototype-pollution-in-apos-util-set-leads-to-auth  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-12. Updated: 2026-07-31  
License: CC BY 4.0 with a link back

CVE-2026-53609 · Severity: critical · CVSS 9.1 · Published 2026-06-12

ApostropheCMS, a content management system, contains a vulnerability that allows an authenticated editor to bypass security checks for the entire application. By sending a specially crafted request, an attacker can disable authorization requirements for sensitive data interfaces. This allows any unauthenticated user on the internet to access private information until the server is manually restarted, potentially leading to large-scale data exposure.

Technologies: [ApostropheCMS](https://junglewise.ai/threats/technologies/apostrophecms), [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-53609 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-53609 being exploited in the wild.

**How severe is CVE-2026-53609?** Critical severity, with a CVSS score of 9.1, published 12 June 2026.

**Which products and versions are affected?** ApostropheCMS <= 4.30.0; apostrophe (npm) <= 4.30.0, SEMVER:introduced=0,fixed=4.31.0.

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

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

**Am I affected by CVE-2026-53609?** Check whether you run ApostropheCMS 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.31.0 or later

  ```sh
  npm install apostrophe@4.31.0
  ```


## Technical details

A server-side prototype pollution vulnerability exists in ApostropheCMS versions up to 4.30.0. The 'apos.util.set' function in 'modules/@apostrophecms/util/index.js' fails to sanitize property keys such as '__proto__', 'constructor', or 'prototype' when traversing dot-notation paths. An authenticated editor can exploit this via the '$pullAll' patch operator in REST API endpoints to inject properties into 'Object.prototype'. Specifically, by setting 'publicApiProjection', an attacker can cause the 'publicApiCheck' function to evaluate to false, effectively bypassing authorization for all piece-type REST API endpoints (e.g., users, global settings) for all subsequent unauthenticated requests. The vulnerability is remediated in version 4.31.0 by implementing proper key sanitization.

## Affected products

- ApostropheCMS apostrophe <= 4.30.0

## Identifiers

- CVE-2026-53609
- GHSA-6h5j-32cf-4253

## Timeline

- 2026-06-11: disclosed
- 2026-06-12: kev added: NVD publication date
- 2026-07-31: advisory: GitHub Advisory published/updated
- 2026-07-31: patched: Version 4.31.0 released

## References

- [https://api.github.com/users/H3xV0rT3x](https://api.github.com/users/H3xV0rT3x)
- [https://github.com/H3xV0rT3x](https://github.com/H3xV0rT3x)
- [https://api.github.com/users/H3xV0rT3x/gists%7B/gist_id%7D](https://api.github.com/users/H3xV0rT3x/gists%7B/gist_id%7D)
- [https://api.github.com/users/H3xV0rT3x/repos](https://api.github.com/users/H3xV0rT3x/repos)
- [https://avatars.githubusercontent.com/u/123746403?v=4](https://avatars.githubusercontent.com/u/123746403?v=4)
- [https://api.github.com/users/H3xV0rT3x/events%7B/privacy%7D](https://api.github.com/users/H3xV0rT3x/events%7B/privacy%7D)

## 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)
