Impact
An unauthenticated attacker can delete every device registration in a Parse Server application, or an arbitrary attacker-chosen subset of them, using ordinary HTTP requests. Only the public application ID is required — no account, no session token, no master key and no user interaction.
Any deployment that exposes the REST API to clients and uses push notifications is affected in its default configuration. Class-level permissions on the installation class do not prevent it, because the deletion runs with elevated privileges before those permissions are evaluated. Deleted registrations cannot be recovered on the server, so push notifications can no longer be delivered until every client re-registers.
Patches
Parse Server now validates the type of the client-supplied installation fields used to build deduplication queries, before any of them reaches the database. Values that are not strings are rejected with a client error, so a value can no longer act as a query constraint instead of a literal to match against. The cleanup performed during deduplication is additionally scoped to the calling application, and is skipped rather than run unscoped when no application scope is available.
Workarounds
There is no configuration option that prevents this; upgrade to a patched version. Deployments that do not use push notifications and hold no installation records are not meaningfully affected.
References
Impact
An unauthenticated attacker can delete every device registration in a Parse Server application, or an arbitrary attacker-chosen subset of them, using ordinary HTTP requests. Only the public application ID is required — no account, no session token, no master key and no user interaction.
Any deployment that exposes the REST API to clients and uses push notifications is affected in its default configuration. Class-level permissions on the installation class do not prevent it, because the deletion runs with elevated privileges before those permissions are evaluated. Deleted registrations cannot be recovered on the server, so push notifications can no longer be delivered until every client re-registers.
Patches
Parse Server now validates the type of the client-supplied installation fields used to build deduplication queries, before any of them reaches the database. Values that are not strings are rejected with a client error, so a value can no longer act as a query constraint instead of a literal to match against. The cleanup performed during deduplication is additionally scoped to the calling application, and is skipped rather than run unscoped when no application scope is available.
Workarounds
There is no configuration option that prevents this; upgrade to a patched version. Deployments that do not use push notifications and hold no installation records are not meaningfully affected.
References