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.54 and 9.6.0-alpha.43, an attacker can subscribe to LiveQuery with a watch parameter targeting a protected field. Although the protected field value is properly stripped from event payloads, the presence or absence of update events reveals whether the protected field changed, creating a binary oracle. For boolean protected fields, the timing of change events is equivalent to knowing the field value. This issue has been patched in versions 8.6.54 and 9.6.0-alpha.43.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| parse-community | parse-server | < 8.6.54, >= 9.0.0, < 9.6.0-alpha.43 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | parse-server | >= 9.0.0, < 9.6.0-alpha.43 | 9.6.0-alpha.43 | GHSA-qpc3-fg4j-8hgm |
| npm | parse-server | < 8.6.54 | 8.6.54 | GHSA-qpc3-fg4j-8hgm |
References
- https://github.com/parse-community/parse-server/security/advisories/GHSA-qpc3-fg4j-8hgm
- https://github.com/parse-community/parse-server/pull/10253
- https://github.com/parse-community/parse-server/pull/10254
- https://github.com/parse-community/parse-server/commit/0c0a0a5a37ca821d2553119f2cb3be35322eda4b
- https://github.com/parse-community/parse-server/commit/c62eacaf38de86913f09240583448360b1cc8e67