Parse Server — это серверная часть с открытым исходным кодом, которую можно развернуть в любой инфраструктуре, поддерживающей Node.js. До версий 9.6.0-alpha.9 и 8.6.35 злоумышленник мог использовать подписки LiveQuery для определения значений защищенных полей, не получая их напрямую. Подписавшись с предложением WHERE, которое ссылается на защищенное поле (в том числе через точечную запись или $regex), злоумышленник может наблюдать, доставляются ли события LiveQuery для соответствующих объектов.
Это создает логический оракул, который передает значения защищенного поля. Атака затрагивает любой класс, в котором включены как protectedFields в разрешениях на уровне класса, так и LiveQuery. Эта уязвимость исправлена в версиях 9.6.0-alpha.9 и 8.6.35.
Показать оригинальное описание (EN)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.9 and 8.6.35, an attacker can exploit LiveQuery subscriptions to infer the values of protected fields without directly receiving them. By subscribing with a WHERE clause that references a protected field (including via dot-notation or $regex), the attacker can observe whether LiveQuery events are delivered for matching objects. This creates a boolean oracle that leaks protected field values. The attack affects any class that has both protectedFields configured in Class-Level Permissions and LiveQuery enabled. This vulnerability is fixed in 9.6.0-alpha.9 and 8.6.35.
Характеристики атаки
Последствия
Строка CVSS v4.0