低严重性漏洞;大括号包的“正则表达式拒绝服务”

时间:2019-05-09 07:01:24

标签: npm version package.json

我克隆了electron-api-demos存储库:

$ git clone https://github.com/electron/electron-api-demos
$ cd electron-api-demos

当我使用npm install安装软件包时,npm警告我5个漏洞,并建议我使用npm audit fix修复它们。

我运行fix命令,并见证其中的4个是固定的,除了一个需要我进行手动审核的:

$ npm audit
=== npm audit security report ===


                                 Manual Review
             Some vulnerabilities require your attention to resolve

          Visit https://go.npm.me/audit-guide for additional guidance


  Low             Regular Expression Denial of Service

  Package         braces

  Patched in      >=2.3.1

  Dependency of   check-for-leaks [dev]

  Path            check-for-leaks > anymatch > micromatch > braces

  More info       https://nodesecurity.io/advisories/786

found 1 low severity vulnerability in 2259 scanned packages
  1 vulnerability requires manual review. See the full report for details.

因此问题出在braces软件包中:

$ npm list braces
electron-api-demos@2.0.2 D:\Code\electron-api-demos
`-- check-for-leaks@1.2.0
  `-- anymatch@1.3.2
    `-- micromatch@2.3.11 
      `-- braces@1.8.5   <-----------

$ npm show braces version
3.0.2

万岁!如果我仅更新此软件包,就可以摆脱这个困扰我一生的“ low severity vulnerability”。

但是问题是我不直接依赖该程序包,所以我不能只使用"braces": "^2.3.1"(或"braces": "^3.0.2")。

我想知道这是谁的错

$ npm show check-for-leaks version
1.2.0

我检查了check-for-leaks's GitHub page,可以看到他们正在使用"anymatch": "^1.3.0",并且如果我运行了:

$ npm show anymatch version
3.0.1

我可以看到他们没有使用anymatch的更新版本。

repository's latest commit已经有两年了!因此,我认为提交问题不会很快解决此问题。


我的问题: 如何在不借助“ ugly hacks”的情况下更新此软件包?

0 个答案:

没有答案