Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L
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.
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
Lifecycle Timeline
1DescriptionCVE.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.
Articles & Coverage 1
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(). …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires an authenticated account with editor privileges (CVSS PR:L) able to invoke the piece-type PATCH API with the $pullAll operator carrying a dot-notation path containing __proto__; the target must run ApostropheCMS at or below 4.30.0 on Node.js. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 3.1 score of 9.1 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L) reflects a network-reachable, low-complexity attack from a low-privileged authenticated editor with scope change because the polluted prototype subverts the authentication subsystem and exposes unauthenticated requests to data they should never see. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker who obtains or is granted an editor account sends a piece-type PATCH request whose body uses the $pullAll operator with a dot-notation key resolving through __proto__ to plant a property on Object.prototype that publicApiCheck() will later read as authorizing public access. From that moment until the Node.js process restarts, the attacker - or any unauthenticated third party - can call piece-type REST endpoints without credentials and exfiltrate or manipulate content. … |
| Remediation | 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. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours: Audit all ApostropheCMS instances; identify which are internet-facing and restrict editor account access to internal networks only. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
More from same product – last 7 days
Prototype pollution in jsonata-js (all versions up to 2.2.0) allows remote unauthenticated attackers to inject arbitrary
Prototype pollution in RubyLouvre Avalon's Template Filter Handler (src/filters/index.js) allows remote unauthenticated
Prototype pollution in i18next-fs-backend versions prior to 2.6.6 allows remote attackers to write arbitrary properties
Remote prototype pollution in i18next-http-middleware before 3.9.7 allows unauthenticated attackers to write to Object.p
Denial of service in n8n workflow automation platform versions prior to 2.24.0 allows authenticated users with workflow
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36590