Description
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. 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 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, prior to versions 4.10.14 or 5.2.5, returns a response object. The patch available in versions 4.10.14 and 5.2.5 requires the maser key to use internal and protected fields as query constraints. As a workaround, implement a Parse Cloud Trigger `beforeFind` and manually remove the query constraints.
Remediation
References
https://github.com/parse-community/parse-server/security/advisories/GHSA-2m6g-crv8-p3c6
https://github.com/parse-community/parse-server/commit/e39d51bd329cd978589983bd659db46e1d45aad4
https://github.com/parse-community/parse-server/releases/tag/5.2.5
https://github.com/parse-community/parse-server/releases/tag/4.10.14
https://github.com/parse-community/parse-server/issues/8143
https://github.com/parse-community/parse-server/issues/8144
https://github.com/parse-community/parse-server/commit/634c44acd18f6ee6ec60fac89a2b602d92799bec