ansi-html 中不受控制的资源消耗

Jay*_*den 6 node.js angular

我发现 Angular 项目中的高漏洞之一是“ansi-html 中不受控制的资源消耗”。\n在此输入图像描述

\n

我还遇到了一些此类高漏洞,但这些漏洞是通过在 package.json 文件下添加“resolutions”部分并在脚本部分添加“preinstall”:“npx npm-force-resolutions”来修复的。我修复了这些漏洞,并用类似 \'Patched in \xe2\x94\x82 >=4.0.1 \' 的版本进行了修补。但这附带了“没有可用的补丁”。\n所以我对解决这个问题感到有点困惑。有谁知道如何解决这个问题?谢谢

\n

Jus*_*rty 10

如果您不ansi-html直接使用而是依赖于使用它的依赖项,则应该resolutionspackage.json. (您永远不应该package-lock.json直接编辑,因为每次运行时都会重新生成npm install)。您只需提供一个 tarball 的链接,您通常会在其中指定覆盖版本号。您的决议部分package.json应如下所示:

"resolutions": {
    "ansi-html": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz"
}
Run Code Online (Sandbox Code Playgroud)

更多详情请参考这篇文章:

如何使用不同的包(不仅仅是不同的包版本号)覆盖嵌套的 npm 子依赖项?


小智 0

ansi-html 中不受控制的资源消耗 (CVE-2021-23424) 是一个漏洞,该漏洞无法被项目作者修复,因为它已被放弃并且存在不会\xe2\x80\x99t 是 ansi-html 的修补版本

\n

您只需转到 package-lock.json 并找到包含以下内容的行:

\n
"ansi-html": {\n  "version": "0.0.7",\n  "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",\n  "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="\n
Run Code Online (Sandbox Code Playgroud)\n

并替换为:

\n
"ansi-html-community": {\n  "version": "0.0.8",\n  "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",\n  "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw=="\n
Run Code Online (Sandbox Code Playgroud)\n

同一文件中的这一行:

\n
"dependencies": {\n    "ansi-html": "^0.0.7",\n
Run Code Online (Sandbox Code Playgroud)\n

用。。。来代替:

\n
"dependencies": {\n    "ansi-html-community": "^0.0.8",\n
Run Code Online (Sandbox Code Playgroud)\n

然后只需输入npm update即可。

\n

您可以在此链接中获取更多信息。

\n

并在此处检查整个提交。

\n

  • 您永远不应该直接编辑“package-lock.json”。每次运行“npm install”时,更改都会丢失,这很不方便,并且可能导致意外行为。应使用“npm-force-resolutions”作为临时修复,直到您所使用的依赖项的维护者更新其包以使用“ansi-html-community”。 (5认同)