CVE-2026-33429Parse Server 是一个基于 Node.js 的开源后端。在 8.6.54 和 9.6.0-alpha.43 之前的版本中存在信息泄露漏洞。攻击者无需认证即可利用 LiveQuery 的 watch 参数订阅受保护字段。虽然受保护字段的值会从事件负载中被正确移除,但通过监听更新事件的存在或缺失,攻击者可以推断出受保护字段是否发生了变化,从而形成二进制神谕攻击。对于布尔类型的受保护字段,这种变化时机等同于直接泄露了字段的值。
该漏洞源于 Parse Server 的 LiveQuery 功能在处理受保护字段时的逻辑缺陷。LiveQuery 允许客户端订阅数据变更。当攻击者订阅一个包含受保护字段(如 ACL 或特定权限字段)的查询时,服务器在返回更新事件时会过滤掉该字段的敏感值。然而,服务器仍会发送“更新”事件通知。攻击者可以通过监听这些事件的频率或存在性,推断受保护字段是否被修改。具体利用时,攻击者无需认证,即可构造特定的订阅请求,持续监听目标对象。如果收到更新事件,说明受保护字段发生了变化;如果没有收到,则未变化。对于布尔值(如 isAdmin=true/false),这种二进制的反馈机制实际上泄露了字段的实际状态或状态变更时机,成功绕过了字段的访问控制保护机制。