Parse Server — это серверная часть с открытым исходным кодом, которую можно развернуть в любой инфраструктуре, поддерживающей Node.js. До версий 8.6.65 и 9.7.0-alpha.9, когда несколько клиентов подписываются на один и тот же класс через LiveQuery, обработчики событий обрабатывают каждого подписчика одновременно, используя общие изменяемые объекты. Фильтр конфиденциальных данных изменяет эти общие объекты на месте, поэтому, когда фильтр одного подписчика удаляет защищенное поле, последующие подписчики могут получить уже отфильтрованный объект.
Это может привести к утечке защищенных полей и данных аутентификации клиентам, которые не должны их видеть, или к тому, что клиенты, которые должны видеть данные, получат неполный объект. Кроме того, при регистрации триггера afterEvent Cloud Code изменения триггера одного подписчика могут передаваться другим подписчикам через одно и то же общее изменяемое состояние. Любое развертывание сервера синтаксического анализа с использованием LiveQuery с защищенными полями или триггерами afterEvent затрагивается, когда несколько клиентов подписываются на один и тот же класс.
Эта проблема исправлена в версиях 8.6.65 и 9.7.0-alpha.9.
Показать оригинальное описание (EN)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.65 and 9.7.0-alpha.9, when multiple clients subscribe to the same class via LiveQuery, the event handlers process each subscriber concurrently using shared mutable objects. The sensitive data filter modifies these shared objects in-place, so when one subscriber's filter removes a protected field, subsequent subscribers may receive the already-filtered object. This can cause protected fields and authentication data to leak to clients that should not see them, or cause clients that should see the data to receive an incomplete object. Additionally, when an afterEvent Cloud Code trigger is registered, one subscriber's trigger modifications can leak to other subscribers through the same shared mutable state. Any Parse Server deployment using LiveQuery with protected fields or afterEvent triggers is affected when multiple clients subscribe to the same class. This issue has been patched in versions 8.6.65 and 9.7.0-alpha.9.
Характеристики атаки
Последствия
Строка CVSS v4.0