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

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, apostrophe (npm). Vendors: ApostropheCMS, 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
    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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.