通过上下文属性名注入 JavaScript
模板加载器将上下文属性名插入 JavaScript 源码,然后在当前 Node.js 上下文中求值。
CERT/CC 披露 promzard 4.0.0 及更早版本存在 CVE-2026-127109。如果调用方允许攻击者控制模板上下文对象的属性名,即使加载可信模板,也可能以 Node.js 进程的权限执行 JavaScript。
PromZard 使用调用方提供的上下文对象计算交互式模板。模板加载器将属性名拼入生成的 JavaScript 作为形参,然后在 Node.js 中对源码求值。如果调用方允许攻击者指定这些属性名,即使使用可信模板也会产生代码注入风险。排查时应逐一核对调用方如何构造对象,以判断攻击者能否控制属性名、触达相关路径。
该事件定为 L3,因为受影响的 npm 包分发广泛,存在上述前提的调用方可能遭遇代码执行。2026 年 11 月 14 日,npm 注册表所列最新发布版本仍是 4.0.0。依赖后续版本前,请查看注册表及上游说明。
模板加载器将上下文属性名插入 JavaScript 源码,然后在当前 Node.js 上下文中求值。
2026 年 10 月 13 日
CERT/CC 通知 PromZard
CERT/CC 将这一天列为通知日期,并表示未收到维护方声明。
2026 年 11 月 12 日
CERT/CC 发布 VU#685399
公告确认影响范围截至并包含 4.0.0,建议调用方校验上下文属性名。
我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。