在 node-forge 中检测到漏洞

Vulnerability detected in node-forge

我最近开始了一个新的 Vue.js 项目。在我最近的 GitHub 提交之后,我收到了以下 Dependabot 通知:

Known high severity security vulnerability detected in node-forge < 0.10.0 defined in package-lock.json. package-lock.json update suggested: node-forge ~> 0.10.0.

我该如何更新 node-forge?我已经 运行 npm 审计修复。

node-forge 仅在我的 package-lock.json 文件中,并且是“selfsigned”依赖项所必需的。

你可以试试

npm update

这应该将所有包更新到最新版本,遵守 package.json / package-lock.json.

中的语义版本控制规则

您也可以尝试让 Dependabot 生成拉取请求来解决问题。如果您 select 警报本身,您应该会看到如下按钮:

这将尝试创建拉取请求(这不会总是成功)并且通常需要几分钟时间。完成后,您可以查看并合并。

如果 npm update 没有解决它,我通过删除 package-lock.jsonnode_modules 来修复它,然后 运行ning npm install 重新创建两者.

我希望这是一个 quick-and-dirty 修复并且可能不是团队开发的理想选择,但这是一个超过 3 周的高严重性安全漏洞,需要解决。请务必在 package-lock.json 上 运行 git diff 并确认它没有更新任何不应该更新的内容。

对我来说,Dependabot 没有像往常一样创建 PR,因为缺陷在 node-forge 0.9.0 中,补丁在 0.10.0 中,selfsigned 被认为是一个重大变化。 npm audit 没有发现任何漏洞,& npm update 进行了几次更新,但没有将 node-forge 更新到 0.10.0,也没有自签名到 1.10.8(它更新了它的 node-forge 版本参考)。我使用的是 webpack-dev-server 3.11.0,它依赖于 selfsigned ^1.10.7。重新创建 package-lock.json 后,webpack-dev-server 引用未更改,但更新了自签名和 node-forge 版本,这正是我想要的。

node-forge 0.9.0 中的漏洞最近已在 selfsigned 中修复。尝试更新自签名。它为我解决了这个问题。 请检查 link 以供参考。 Selfsigned github link

因果关系:

node-forge@0.9.0 需要更新为 node-forge@^0.10.0

解决方案(NPM)

rm -rf node-modules

rm package.lock

npm cache clean

npm i

解决方案(纱线)

rm -rf node_modules

rm yarn.lock

yarn cache clean

yarn

说明

这应该会导致使用 node-forge 的库更新它自己的依赖项。

尝试:npm i node-forge@latest

如果 npm update 并删除 node_modulespackage-lock.json,您可以尝试上面的命令。它为我更新了 node-forge 到最新版本。