Описание
Trigger beforeFind not invoked in internal query pipeline when fetching pointer
Impact
A Parse Pointer can be used to access internal Parse Server classes. It can also be used to circumvent the beforeFind query trigger which can be an additional vulnerability for deployments where the beforeFind trigger is used as a security layer to modify an incoming query.
Patches
The vulnerability was fixed by implementing a patch in the internal query pipeline to prevent a Parse Pointer to be used to access internal Parse Server classes or circumvent the beforeFind trigger.
Workarounds
There is no known workaround to prevent a Parse Pointer to be used to access internal Parse Server classes. A workaround if a beforeFind trigger is used as a security layer is to instead use the Parse Server provided security layers to manage access levels with Class-Level Permissions and Object-Level Access Control.
References
- GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-fcv6-fg5r-jm9q
- Patched in Parse Server 6.x: https://github.com/parse-community/parse-server/releases/tag/6.2.2
- Patched in Parse Server 5.x (LTS): https://github.com/parse-community/parse-server/releases/tag/5.5.5
Ссылки
- https://github.com/parse-community/parse-server/security/advisories/GHSA-fcv6-fg5r-jm9q
- https://nvd.nist.gov/vuln/detail/CVE-2023-41058
- https://github.com/parse-community/parse-server/commit/be4c7e23c63a2fb690685665cebed0de26be05c5
- https://docs.parseplatform.org/parse-server/guide/#security
- https://github.com/parse-community/parse-server/releases/tag/5.5.5
- https://github.com/parse-community/parse-server/releases/tag/6.2.2
Пакеты
parse-server
>= 1.0.0, < 5.5.5
5.5.5
parse-server
>= 6.0.0, < 6.2.2
6.2.2
Связанные уязвимости
Parse Server is an open source backend server. In affected versions the Parse Cloud trigger `beforeFind` is not invoked in certain conditions of `Parse.Query`. This can pose a vulnerability for deployments where the `beforeFind` trigger is used as a security layer to modify the incoming query. The vulnerability has been fixed by refactoring the internal query pipeline for a more concise code structure and implementing a patch to ensure the `beforeFind` trigger is invoked. This fix was introduced in commit `be4c7e23c6` and has been included in releases 6.2.2 and 5.5.5. Users are advised to upgrade. Users unable to upgrade should make use of parse server's security layers to manage access levels with Class-Level Permissions and Object-Level Access Control that should be used instead of custom security layers in Cloud Code triggers.