CVE-2026-32878: Parse Server vulnerable to schema poisoning via prototype pollution in deep copy

Published Mar 17, 2026
·
Updated

Impact

An attacker can bypass the default request keyword denylist protection and the class-level permission for adding fields by sending a crafted request that exploits prototype pollution in the deep copy mechanism. This allows injecting fields into class schemas that have field addition locked down, and can cause permanent schema type conflicts that cannot be resolved even with the master key.

Patches

The vulnerable third-party deep copy library has been replaced with a built-in deep clone mechanism that handles prototype properties safely, allowing the existing denylist check to correctly detect and reject the prohibited keyword.

Workarounds

None.

Vulnerability Independence

This vulnerability is not caused by or dependent on a vulnerability in a third-party dependency.

The third-party deepcopy library that was replaced in the fix has no known CVE or security advisory regarding this. The library functions as designed. It is not vulnerable.

The vulnerability is in parse-server's own request processing logic. Parse-server's security-critical keyword denylist check runs after the deep copy step in the request pipeline. The deep copy step strips proto properties as a normal part of its cloning behavior, which means the denylist check never sees the prohibited key. This allows an attacker to bypass both the denylist protection and class-level permissions for adding fields, resulting in schema poisoning.

The root cause is parse-server's reliance on a cloning mechanism that alters the shape of the data before the security check can inspect it. This is a logic flaw in parse-server's security pipeline, not a vulnerability in a dependency. Replacing the cloning mechanism was the fix for parse-server's own bug.

Other sources

Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.20 and 8.6.44, an attacker can bypass the default request keyword denylist protection and the class-level permission for adding fields by sending a crafted request that exploits prototype pollution in the deep copy mechanism. This allows injecting fields into class schemas that have field addition locked down, and can cause permanent schema type conflicts that cannot be resolved even with the master key. In 9.6.0-alpha.20 and 8.6.44, the vulnerable third-party deep copy library has been replaced with a built-in deep clone mechanism that handles prototype properties safely, allowing the existing denylist check to correctly detect and reject the prohibited keyword. No known workarounds are available.

MITRE

Affected Software

23 affected componentsFixes available
npm/parse-server<8.6.44
8.6.44
npm/parse-server>=9.0.0<9.6.0-alpha.20
9.6.0-alpha.20
parseplatform Parse-server Node.js<8.6.44
parseplatform Parse-server Node.js>=9.0.0<9.6.0
parseplatform Parse-server Node.js=9.6.0-alpha1
parseplatform Parse-server Node.js=9.6.0-alpha10
parseplatform Parse-server Node.js=9.6.0-alpha11
parseplatform Parse-server Node.js=9.6.0-alpha12
parseplatform Parse-server Node.js=9.6.0-alpha13
parseplatform Parse-server Node.js=9.6.0-alpha14
parseplatform Parse-server Node.js=9.6.0-alpha15
parseplatform Parse-server Node.js=9.6.0-alpha16
parseplatform Parse-server Node.js=9.6.0-alpha17
parseplatform Parse-server Node.js=9.6.0-alpha18
parseplatform Parse-server Node.js=9.6.0-alpha19
parseplatform Parse-server Node.js=9.6.0-alpha2
parseplatform Parse-server Node.js=9.6.0-alpha3
parseplatform Parse-server Node.js=9.6.0-alpha4
parseplatform Parse-server Node.js=9.6.0-alpha5
parseplatform Parse-server Node.js=9.6.0-alpha6
parseplatform Parse-server Node.js=9.6.0-alpha7
parseplatform Parse-server Node.js=9.6.0-alpha8
parseplatform Parse-server Node.js=9.6.0-alpha9

Event History

Mar 17, 2026
Advisory Published
via GitHub·06:37 PM
Data Sourced
via GitHub·06:37 PM
DescriptionWeaknessAffected Software
Mar 18, 2026
CVE Published
via MITRE·09:40 PM
Data Sourced
via MITRE·09:40 PM
DescriptionWeakness
Data Sourced
via NVD·10:16 PM
DescriptionSeverityWeaknessAffected Software
Jan 11, 58189
Event
via FIRST·10:52 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-32878?

CVE-2026-32878 has a medium severity rating due to the potential for schema poisoning via prototype pollution.

2

How do I fix CVE-2026-32878?

To fix CVE-2026-32878, upgrade to Parse Server version 8.6.44 or 9.6.0-alpha.20 or later.

3

What are the versions affected by CVE-2026-32878?

CVE-2026-32878 affects Parse Server versions prior to 8.6.44 and between 9.0.0 and 9.6.0-alpha.20.

4

What impact does CVE-2026-32878 have on my application?

CVE-2026-32878 allows an attacker to bypass request keyword protections and manipulate class-level field permissions.

5

Is there a workaround for CVE-2026-32878?

There is no documented workaround for CVE-2026-32878; updating to a fixed version is recommended.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203