漏洞概述 ts-deepmerge 库中的 函数存在原型污染漏洞,导致拒绝服务(DoS)。该函数使用黑名单来防止原型污染,但黑名单未包含 、 等内置的 方法。当用户控制的输入包含这些键且值为非函数时,合并后的对象会损坏,任何字符串上下文操作都会抛出 ,导致应用程序崩溃。 影响范围 包名: ts-deepmerge 受影响版本: <= 7.0.3 npm 链接: https://www.npmjs.com/package/ts-deepmerge 每周下载量: ~870,000 修复方案 PR #40(待合并)提供了修复方案,扩展了黑名单以包含更多 方法: POC 代码 环境 Node.js: v20.19.2 ts-deepmerge: 7.0.3 OS: Linux 影响 任何应用程序如果: 1. 合并用户提供的 JSON/对象数据与 2. 随后在字符串上下文(如日志记录、模板字面量、数组操作等)中使用结果 ...将因未处理的 而崩溃。 CWE CWE-1321: 不当控制的对象原型属性修改