0

react-dev-utils@11.0.4安装易受攻击的 browserlist 版本browserslist@4.14.2,尽管我们已经在 github 上更新了包。https://github.com/facebook/create-react-app/blob/main/packages/react-dev-utils/package.json#L57

[要进行测试,您可以简单地创建任何文件夹,npm i react-dev-utils然后使用npm ls browserlist]

我不明白,这是什么限制。(我没有看到package-lock.json这个包,这可能是 vuln 的潜在原因)。旧版本已报告漏洞CVE-2021-23364

4

1 回答 1

0

react-dev-utils@11.0.4安装易受攻击的 , 版本browserlistbrowserslist@4.14.2尽管我们在 github 上更新了包

这是因为该package.json文件位于通常包含最新或开发代码的默认分支中。在您发布问题时,该更改尚未发布到 npm 注册表。

react-dev-utils@11.0.4browserslist@4.14.2在其软件包中列出,因此这就是将要安装的版本。参考:https ://cdn.jsdelivr.net/npm/react-dev-utils@11.0.4/package.json

您至少react-dev-utils@12.0.0需要修复该漏洞。请参阅版本选项卡


[要进行测试,您可以简单地创建任何文件夹,npm i react-dev-utils然后使用npm ls browserlist]

运行该命令将安装最新版本的react-dev-utils,现在没有漏洞。所以它会解决你的问题。


我没有看到这个包的任何 package-lock.json,这可能是 vuln 的潜在原因

package-lock.json无法发布到注册表,仅尊重顶级锁定文件。参考:package-lock.json 也应该发布吗?


这可能是一个示例包,但一般我们如何更新到最新包?也尝试过 npm update 。

npm update尊重package.json. 如果它像"react-dev-utils": "11.0.4"那个命令不会做任何事情。如果是"react-dev-utils": "^11.0.4",它将尝试更新到11.x.x您已经使用的最新版本,因此它不会做任何事情。参考:npm update 不做任何事情

通常,如果您想将每个直接依赖项升级到可以npm-check-updates在运行之前使用的最新版本npm update。有关详细指南,请参阅https://nodejs.dev/learn/update-all-the-nodejs-dependencies-to-their-latest-version。相关:如何将 package.json 中的每个依赖项更新到最新版本?

现在,如果它不是直接依赖项,就像您的情况一样,您可以强制解决。Yarn 和 NPM v8.3.0 及更高版本原生支持这一点。在较旧的 NPM 版本中,您需要使用像npm-force-resolutions. 相关主题:npm 等效于纱线分辨率?

通过在网络上搜索,您可以轻松找到更多相关主题。

于 2021-12-26T17:06:37.340 回答