GitHub Advisoryadvisory · npm

GHSA-2m6g-crv8-p3c6 Parse Server vulnerable to brute force guessing of user sensitive data via search patterns

HIGH Published 2022-09-16 Modified 2022-09-21 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