Description
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.58 and 9.6.0-alpha.52, an unauthenticated attacker can cause denial of service by sending authentication requests with arbitrary, unconfigured provider names. The server executes a database query for each unconfigured provider before rejecting the request, and since no database index exists for unconfigured providers, each request triggers a full collection scan on the user database. This can be parallelized to saturate database resources. This issue has been patched in versions 8.6.58 and 9.6.0-alpha.52.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| parse-community | parse-server | < 8.6.58, >= 9.0.0, < 9.6.0-alpha.52 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | parse-server | >= 9.0.0, < 9.6.0-alpha.52 | 9.6.0-alpha.52 | GHSA-g4cf-xj29-wqqr |
| npm | parse-server | < 8.6.58 | 8.6.58 | GHSA-g4cf-xj29-wqqr |
References
- https://github.com/parse-community/parse-server/security/advisories/GHSA-g4cf-xj29-wqqr
- https://github.com/parse-community/parse-server/pull/10270
- https://github.com/parse-community/parse-server/pull/10271
- https://github.com/parse-community/parse-server/commit/40eb442e02672986730007d0a1edb22c1c4bd357
- https://github.com/parse-community/parse-server/commit/fbac847499e57f243315c5fc7135be1d58bb8e54