GitHub Advisoryadvisory · npm
GHSA-2m6g-crv8-p3c6 Parse Server vulnerable to brute force guessing of user sensitive data via search patterns
HIGH
Official page ↗
- Aliases
- CVE-2022-36079
- Ecosystem
- npm
- Packages
- parse-server
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
- Weaknesses
- CWE-200
- Reviewed
- 2022-09-16
Affected packages
• npm parse-server: < 4.10.14 → fixed in 4.10.14
• npm parse-server: >= 5.0.0, < 5.2.5 → fixed in 5.2.5
Description
Impact
Internal fields (keys used internally by Parse Server, prefixed by `_`) and protected fields (user defined) can be used as query constraints. Internal and protected fields are removed by Parse Server from query results and are only returned to the client using a valid master key. However, using query constraints, these fields can be guessed by enumerating until Parse Server returns a response object.
Patches
The patch requires the master key to use internal and protected fields as query constraints.
Workarounds
Implement a Parse Cloud Trigger `beforeFind` and manually remove the query constraints, such as:
```js
Parse.Cloud.beforeFind('TestObject', ({ query }) => {
for (const key in query._where || []) {
// Repeat logic for protected fields
if (key.charAt(0) === '_') {
delete query._where[key];
}
}
});
```
References
• https://github.com/parse-community/parse-server/security/advisories/GHSA-2m6g-crv8-p3c6
Related
Alias · CVE (1)
- CVE-2022-36079 Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. vulnerability
Weakness · CWE (1)
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness
References
- https://github.com/parse-community/parse-server/security/advisories/GHSA-2m6g-crv8-p3c6 web
- https://nvd.nist.gov/vuln/detail/CVE-2022-36079 advisory
- https://github.com/parse-community/parse-server/issues/8143 web
- https://github.com/parse-community/parse-server/issues/8144 web
- https://github.com/parse-community/parse-server/commit/634c44acd18f6ee6ec60fac89a2b602d92799bec web
- https://github.com/parse-community/parse-server/commit/e39d51bd329cd978589983bd659db46e1d45aad4 web
- https://github.com/parse-community/parse-server package
- https://github.com/parse-community/parse-server/releases/tag/4.10.14 web
- https://github.com/parse-community/parse-server/releases/tag/5.2.5 web