CVE-2026-4800
严重已发布
lodash 容易受到通过 _.template 导入键名引发的代码注入漏洞影响
- 已发布
- 2026年3月31日
- 已更新
- 2026年9月14日
- 分配 CNA
- openjs
- 观察到的证据
- 2026年8月25日
初级CVSS
9.8/ 10严重
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H2.8%
低 · 未来 30 天
- 百分位
- 85.5%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
影响:针对 CVE-2021-23337(https://github.com/advisories/GHSA-35jh-r3h4-6jhm)的修复为 `_.template` 中的 `variable` 选项添加了验证,但未对 `options.imports` 的键名应用相同的验证。两条路径都会汇入同一个 `Function()` 构造函数接收点。当应用程序将不受信任的输入作为 `options.imports` 的键名传入时,攻击者可以注入默认参数表达式,从而在模板编译时执行任意代码。此外,`_.template` 使用 `assignInWith` 合并 `imports`,该函数通过 `for..in` 枚举继承属性。如果 `Object.prototype` 已被任何其他向量污染,被污染的键会被复制到 `imports` 对象中并传递给 `Function()`。补丁:用户应升级至 4.18.0 版本。缓解措施:不要将不受信任的输入作为 `options.imports` 中的键名传入。仅使用由开发者控制的静态键名。
来源
1概念验证,演示如何通过原型污染在 lodash 模板中实现远程代码执行,并详细分析攻击流程与利用技术。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。