CVE-2026-32878Parse Server是一个开源后端服务器,可部署在任何可运行Node.js的基础设施上。在9.6.0-alpha.20和8.6.44之前的版本中,存在一个严重的安全漏洞。攻击者可以通过发送精心构造的请求来绕过默认的请求关键字黑名单保护和类级别的字段添加权限限制。该漏洞的核心是利用深拷贝机制中的原型污染(Prototype Pollution)问题。攻击者利用此漏洞可以向已锁定字段添加功能的类模式中注入任意字段,甚至可以造成永久性的模式类型冲突,这种冲突即使使用主密钥也无法解决。此漏洞无需任何认证即可被利用,攻击复杂度低,影响系统的数据完整性和安全性。建议受影响的用户立即升级到修复版本。
该漏洞的根本原因在于Parse Server使用的第三方深拷贝库在处理对象属性时存在原型污染问题。在JavaScript中,`__proto__`属性允许修改对象的原型链,而原型污染攻击正是通过操纵这个属性来注入恶意属性。在Parse Server的深拷贝机制中,当处理用户输入时,如果输入包含`__proto__`属性,该属性会被正确处理并污染目标对象的原型。具体攻击过程如下:攻击者发送包含`__proto__`字段的请求,由于深拷贝库未能正确过滤这个特殊属性,被污染的原型会被应用到类的模式定义中。这导致攻击者可以在受保护的类中添加任意字段,绕过类级别的权限控制。被注入的字段可能与现有字段产生类型冲突,且这种冲突会持久化存储,即使使用master key也无法通过正常途径清除。修复方案是用安全的内置深克隆机制替换了存在漏洞的第三方库,该内置机制能够正确处理原型属性,使得现有的黑名单检查能够正常检测和拒绝禁止的关键字。