【问题标题】:NPM node-fetch security vulnerabilityNPM 节点获取安全漏洞
【发布时间】:2021-03-02 17:26:21
【问题描述】:

我有一个名为 node-fetch 的节点模块,它产生了一个Denial of Service 安全漏洞。解决此问题的唯一方法是将其更新到版本2.6.1。当我运行npm ls node-fetch 时,我可以看到它是swagger-ui 的依赖项。

`-- swagger-ui@3.23.11
  +-- react@15.6.2
  | `-- fbjs@0.8.17
  |   `-- isomorphic-fetch@2.2.1
  |     `-- node-fetch@1.7.3  deduped
  `-- swagger-client@3.9.4
    `-- cross-fetch@0.0.8
      `-- node-fetch@1.7.3

我试过npm install swagger-ui@latest 看看这是否能解决问题,但没有。我还尝试在package-lock.json 中编辑版本,但在运行npm install 时它会恢复

我对修复安全漏洞非常陌生,所以我不知道在这里具体做什么。

任何帮助! ???干杯

【问题讨论】:

标签: node.js npm swagger-ui


【解决方案1】:

作为一种解决方案,我可以建议将分辨率添加到您的 package.json 中

{
....

  "dependencies": {
     ...
     "swagger-ui": "3.23.11",
     ...
  },
  "resolutions": {
    "node-fetch": "2.6.1"
  }
}

【讨论】:

  • 我尝试了解决方法并在运行npm installnpm ls node-fetch 后得到了这个回报:npm ERR!无效:node-fetch@2.6.1
【解决方案2】:

npm 8.3.0 开始,您应该能够将其添加到您的 package.json 以解决问题。

"overrides": {
    "node-fetch": "^2.6.7"
},

这告诉安装程序用 2.6.7 版或该版本附带的任何次要版本覆盖任何已安装的 npm-fetch 版本(例如,允许 2.6.8,但不允许 3.0.0)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2018-09-21
    • 2021-08-19
    相关资源
    最近更新 更多