npm glob-parent 5.1.2之前版本在附件regex中易受正则表达式拒绝服务攻击

vaj7vani  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(481)

这个堆栈溢出答案对我不起作用(how to solve this npm glob-parent problem)。
现在blob-parent需要升级到6.0.1或更高版本。
当我做npm ls glob-parent的时候,它就是这个样子。

某些glob-parent需要升级到6.0.1或更高版本,但npm install glob-parent@6.0.1不会升级所有glob-parent
如何升级glob-parent?或者如何解决glob-parent before 5.1.2 vulnerable to Regular Expression Denial of Service in enclosure regex问题?

次尝试

我试过了
npm audit fix --force
npm install glob-parent
x1米11米1x

oymdgrw7

oymdgrw71#

npm install glob-parent@6.0.1之后,如果"glob-parent": "^6.0.1"在您的项目package.json中;你可以在依赖项部分下面添加一个部分,包含依赖于npm audit中较低版本的插件,称为“overrides”,如下所示:

"dependencies": {
  ...
},  
"devDependencies": {
  "@babel/cli": "^7.13.10",
  "glob-parent": "^6.0.1"
},
"overrides": {
  "glob-parent": "$glob-parent"
}

这将告诉插件使用本地版本的依赖项,而不是在它自己的包中指定的依赖项,但您可能必须修补找到一个所有插件都沿着使用的版本。
这是因为这是基于插件package.json的依赖性而发生的。(例如^6.0.1),然后他们告诉任何导入它们的项目不要超过指定的版本。这可能是因为较新的构建破坏了插件,然而这可能是偶然的或者仅仅是因为它只在指定的版本之前被测试过。2如果这个包有一段时间没有被更新,较新的构建版本可能已经解决了与先前较新构建版本的中断。
编辑:还要确保本地依赖项和依赖它的插件在同一个依赖项组中。例如,如果较低版本的依赖项在dependencies中,而不是devDependencies中,那么你应该把你覆盖的插件的本地版本也包含在dependencies中。

相关问题