Skip to main content

ApostropheCMS EUVDEUVD-2026-36590

| CVE-2026-53609 CRITICAL
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-06-12 GitHub_M GHSA-6h5j-32cf-4253
9.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L
vuln.today AI
9.1 CRITICAL

Network-reachable editor endpoint (AV:N, PR:L, UI:N); pollution subverts a separate auth component (S:C); resulting anonymous API access yields high confidentiality but only low integrity/availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:H/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
Low

Lifecycle Timeline

1
Analysis Generated
Jun 12, 2026 - 22:15 vuln.today

DescriptionCVE.org

ApostropheCMS is an open-source Node.js content management system. In versions up to and including 4.30.0, apos.util.set() traverses dot-notation paths without sanitizing __proto__, allowing an authenticated editor to write arbitrary values to Object.prototype via the $pullAll patch operator. A confirmed gadget in publicApiCheck() causes this to bypass authorization on all piece-type REST API endpoints for every subsequent unauthenticated request, for the lifetime of the Node.js process. As of time of publication, no known patched versions are available.

AnalysisAI

Prototype pollution in ApostropheCMS versions up to and including 4.30.0 allows an authenticated editor to poison Object.prototype via the $pullAll patch operator, ultimately bypassing authorization on all piece-type REST API endpoints for unauthenticated requests until the Node.js process restarts. The flaw stems from apos.util.set() failing to sanitize __proto__ in dot-notation paths, and no public exploit identified at time of analysis but the advisory describes a confirmed exploitation gadget in publicApiCheck(). No vendor-released patch identified at time of analysis, making this an open-window risk for any internet-exposed editor account.

Technical ContextAI

ApostropheCMS is a Node.js-based open-source content management system whose editing API exposes a generic patch mechanism for piece-type documents. The vulnerable apos.util.set() helper walks user-supplied dot-notation property paths to assign values without filtering reserved JavaScript property names such as __proto__, constructor, or prototype - the canonical CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes / 'Prototype Pollution') pattern. When the $pullAll patch operator is used against an editor-accessible endpoint, the attacker-controlled keys reach this sink and mutate Object.prototype itself. The advisory identifies a specific gadget in publicApiCheck() - the function that decides whether a REST request requires authentication - meaning a polluted property on Object.prototype is read as if it were a configured value on the check object, flipping the authorization decision for the lifetime of the process (cpe:2.3:a:apostrophecms:apostrophe:*).

RemediationAI

No vendor-released patch identified at time of analysis - the advisory explicitly states no patched versions are available, so monitor https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-6h5j-32cf-4253 and apply the fix immediately once published. Compensating controls until then: tightly restrict who holds the editor role and disable open registration for editor-level accounts (trade-off: blocks legitimate contributor onboarding); place the admin and piece-type REST API endpoints behind an authenticated reverse proxy or IP allowlist so that even a polluted publicApiCheck() cannot serve anonymous traffic (trade-off: breaks intentionally public APIs); filter $pullAll patch bodies at a WAF or middleware to drop any path token containing __proto__, constructor, or prototype (trade-off: bypassable via unicode or unusual encodings and may break legitimate keys); and schedule frequent Node.js process restarts so any successful pollution is short-lived (trade-off: brief downtime and does not prevent re-exploitation).

CVE-2026-34621 HIGH POC
8.6 Apr 11

Prototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu

CVE-2024-56059 CRITICAL
9.8 Dec 18

Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau

CVE-2020-28271 CRITICAL POC
9.8 Nov 12

Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service

CVE-2023-38894 CRITICAL POC
9.8 Aug 16

A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi

CVE-2024-24292 CRITICAL POC
9.8 Mar 28

A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function

CVE-2023-26121 CRITICAL POC
10.0 Apr 11

All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s

CVE-2021-23449 CRITICAL POC
10.0 Oct 18

This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr

CVE-2024-39011 CRITICAL POC
9.8 Jul 30

Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser

CVE-2024-38988 CRITICAL POC
9.8 Mar 28

alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde

CVE-2025-57347 CRITICAL POC
9.8 Sep 24

A vulnerability exists in the 'dagre-d3-es' Node.js package version 7.0.9, specifically within the 'bk' module's addConf

CVE-2025-57321 CRITICAL POC
9.8 Sep 24

A Prototype Pollution vulnerability in the util-deps.addFileDepend function of magix-combine-ex versions thru 1.2.10 all

CVE-2024-45435 CRITICAL POC
9.8 Aug 29

Chartist 1.x through 1.3.0 allows Prototype Pollution via the extend function. Rated critical severity (CVSS 9.8), this

Share

EUVD-2026-36590 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy