| Gói / sản phẩm | Phiên bản bị ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| parse-server | = 9.6.0≥ 9.0.0, < 9.6.0< 8.6.35 | 9.6.08.6.35 |
| parse-server | ≥ 9.0.0, < 9.6.0-alpha.9< 8.6.35 | 9.6.0-alpha.98.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.
The fix adds validation of the LiveQuery subscription WHERE clause against the class's protected fields, mirroring the existing REST API validation. If a subscription's WHERE clause references a protected field directly, via dot-notation, or inside $or / $and / $nor operators, the subscription is rejected with a permission error. This is applied during subscription creation, so existing event delivery paths are not affected.
Disable LiveQuery for classes that use protectedFields in their Class-Level Permissions, or remove protectedFields from classes that require LiveQuery.
Bạn đang dùng một trong các sản phẩm này? Quét site để biết có đang lộ phiên bản có lỗ hổng không.
Quét site miễn phí