CVE-2026-8657jsondiffpatch库在0.7.6之前的版本存在严重的安全漏洞,允许攻击者通过精心构造的输入进行原型污染。该漏洞影响jsondiffpatch.patch()和jsondiffpatch/formatters/jsonpatch.patch()两个API。由于缺乏对特殊属性名称的访问限制,攻击者利用受控的属性名遍历并修改对象,能够修改Object.prototype,从而破坏应用程序的完整性并可能导致进一步的安全风险。
该漏洞源于jsondiffpatch库在处理对象合并操作时,未对用户输入的属性路径进行严格的校验。具体而言,当应用jsondiffpatch.patch()或jsondiffpatch/formatters/jsonpatch.patch()方法时,如果输入的delta对象或JSON Patch文档中包含__proto__、constructor或prototype等JavaScript敏感属性,库会将其视为普通属性进行赋值操作。由于JavaScript的原型继承机制,修改Object.prototype会影响所有基于该原型的对象。攻击者可以利用这一点注入恶意属性,进而篡改应用程序逻辑,导致权限绕过、拒绝服务,或在特定环境下实现远程代码执行。鉴于CVSS 3.1评分达到8.2,且攻击无需用户交互,该漏洞具有较高的风险。