当软件包为最新版本时,如何修复NPM软件包Tar(具有任意文件覆盖的高度漏洞)?

时间:2019-04-11 17:28:35

标签: npm-install tar node-sass flickity npm-audit

我刚刚从NPM安装了Flickity,并在运行npm audit后声明我在软件包 tar 上有关任意文件覆盖的漏洞非常严重,从而获得了NPM审计安全报告。 strong>,它是 node-sass 的依赖项,如您在此处看到的:

High......................... Arbitrary File Overwrite                                     
Package...................... tar                                                          
Patched in................... >=4.4.2                                                      
Dependency of................ node-sass [dev]                                              
Path......................... node-sass > node-gyp > tar                                   
More info.................... https://npmjs.com/advisories/803 

运行npm audit fix不能解决问题,因为该漏洞需要手动检查。 更多信息链接上的建议说要升级到版本4.4.2或更高版本。当我运行npm show tar version时,我意识到我正在运行4.4.8版,这让我感到困惑。我去 package-lock.json 并意识到 node-gyp(它是node-sass的依赖项)正在使用tar版本^ 2.0.0

这使我感到困惑,因为我已经看到许多不同的tar版本是其他软件包的依赖项,但是此node-sass > node-gyp > tar version是唯一一个波纹管v4.4.2。为什么会这样工作,为什么必须手动修复它,以及如何手动修复/升级此tar软件包?

4 个答案:

答案 0 :(得分:20)

正在gitgub页面上跟踪问题

https://github.com/sass/node-sass/issues/2625

答案 1 :(得分:4)

请更新“ package-lock.json”文件中“ tar”的值。并进行验证,请运行“ [npm audit][1]”。

"tar": {
      "version": "4.4.8",
      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
      "integrity": "value",
      "dev": true,
      "optional": true,
      "requires": {
        "block-stream": "*",
        "fstream": "^1.0.2",
        "inherits": "2"
      }
    }

答案 2 :(得分:2)

在package-lock.jason中,将节点的tar更新至以下版本(v 4.4.8):

“版本”:“ 4.4.8”, “已解决”:“ https://registry.npmjs.org/tar/-/tar-4.4.8.tgz

答案 3 :(得分:0)

SASS github issue: 打开package-lock.json 找到“焦油” 看起来应该像这样:

"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",

将这3行替换为:

"version": "4.4.8",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
"integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",

删除文件夹:

node_modules\npm
npm i
npm audit fix
npm audit

多田!