CVE-2026-33421Parse Server 是一个基于 Node.js 的开源后端。在其特定版本之前,LiveQuery WebSocket 接口存在安全漏洞,未能有效强制执行类级别权限(CLP)中的指针权限。这使得任何经过身份验证的用户都可以订阅 LiveQuery 事件,并实时接收受指针权限保护的类中所有对象的更新数据,而无需验证对象指针是否指向该用户。该漏洞绕过了旨在通过 REST API 执行的读取访问控制,可能导致未经授权的敏感数据泄露。
该漏洞根源在于 Parse Server 在处理 LiveQuery WebSocket 连接时的逻辑缺陷,具体表现为未能正确强制执行类级别权限(CLP)中的指针权限检查。Parse Server 通常通过 CLP 提供细粒度的访问控制,允许配置 `readUserFields` 和 `pointerFields` 来限制用户只能读取那些指向自身的对象数据。然而,在受影响版本中,LiveQuery 模块在处理订阅请求时,忽略了这一关键的安全校验步骤。攻击者只需拥有一个合法的 Parse Server 用户账号(满足低权限认证要求),即可建立 WebSocket 连接,并发送订阅请求监听受保护的 Class。尽管目标对象上的受保护指针字段并未指向攻击者,服务器仍会将这些对象的创建、更新或删除等实时变更事件推送给攻击者。这种行为与 REST API 的严格权限检查存在显著差异,导致了访问控制机制被绕过,使得攻击者能够持续窃取本无权访问的敏感数据。