CVE-2021-43616
严重已发布
npm 7.x 和 8.x 至 8.1.3 版本中的 npm ci 命令,即使在 package-lock.json 中的依赖信息与 package.json 不一致时,仍会继续执行安装。此行为与文档描述不符,并使攻击者更容易安装本应被 package-lock.json...
- 已发布
- 2021年11月13日
- 已更新
- 2024年8月4日
- 分配 CNA
- mitre
- 观察到的证据
- 2026年8月8日
初级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.6%
低 · 未来 30 天
- 百分位
- 84.7%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
npm 7.x 和 8.x 至 8.1.3 版本中的 `npm ci` 命令,即使在 package-lock.json 中的依赖信息与 package.json 不一致时,仍会继续执行安装。此行为与文档描述不符,并使攻击者更容易安装本应被 package-lock.json 中精确版本匹配要求所阻止的恶意软件。注意:npm 团队认为这并非漏洞。这需要有人通过社会工程手段诱导用户修改 package.json,使其依赖与 package-lock.json 不同。该用户必须拥有文件系统或写入权限才能更改依赖。npm 团队表示,防止恶意行为者进行社会工程攻击或获取文件系统访问权限超出了 npm CLI 的职责范围。
来源
1CVE-2021-43616的演示:npm `ci`命令忽略package-lock.json,导致意外安装依赖版本和供应链风险。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。