Github hoek 节点模块的潜在安全漏洞错误
Github potential security vulnerability error for hoek node module
今天 github 在我的 github 存储库中显示以下错误:
We found a potential security vulnerability in one of your
dependencies. A dependency defined in ./package-lock.json has known
security vulnerabilities and should be updated.
单击“查看易受攻击的依赖项”按钮时显示以下消息:
hoek node module before 5.0.3 suffers from a Modification of
Assumed-Immutable Data (MAID) vulnerability via 'merge'
直到昨天它还没有显示这样的错误。我已经超过 5 天没有对这个存储库进行任何推送了。知道为什么会这样。
我使用了:rm package-lock.json
&& npm update && npm install
。对我来说,这将 hoek
更新为 4.2.1
,其中还包含修复 (per this comment.)
编辑: 在另一个应用程序中,我 运行 rm package-lock.json
和 npm i hoek && npm up && npm i && npm un hoek
或 npm i hoek && npm un hoek && npm up && npm i
(不记得了order),更符合 with this comment (from JamesSingleton).
(rm package-lock.json
只有存在才有效。)
编辑: 在第三个应用程序中,我检查了 npm outdated
,发现我必须将 react-scripts-ts
从 2.13.0
升级到 2.15.1
。为此,我手动更新了 package.json
,然后只更新了 运行 npm i
。完成后,hoek
更新为 4.2.1.
(专门针对那个 holdout/primary 组件)。
编辑: 我对 Zurb Foundation 6 站点的解决方案:
我使用 npm outdated
将我所有的软件包更新到它们的主要版本。然后我 运行:
npm i hoek@latest --save && npm up hoek
npm i boom hawk sntp uncss gulp-uncss --save && npm up boom hawk sntp uncss gulp-uncss && npm un boom hawk sntp gulp-uncss uncss --save
有两个坚持者; browser-sync : 2.23.7
和 node-sass : 4.9.0
,均为最新版本。不管怎样:提交后 GitHub 警告已解决。
我使用了 npm update hoek && npm install hoek 并将软件包更新到 5.0.3。
此后漏洞警报从我的 github 回购中消失了。
找到解决方案here。
基本上在gitbash,cd
到你的项目文件夹,输入以下代码:
npm i hoek
npm uninstall hoek
npm update
npm install
然后
git add .
git commit -m 'update-hoek'
git push origin master
现在再次检查您的 GitHub 项目页面,警告应该会消失。
此致。
npm update
应该仅在 易受攻击的包被声明为直接项目的依赖项时起作用 。但通常(在 hoek
的情况下) 漏洞位于 存在于 子依赖树 中的那些包中。 =16=]
因为在我的例子中我决定不更新我项目的所有依赖项(通过删除和重建整个package-lock.json
文件),我进行了以下操作(当然,更耗时)方法:
- 在我的
package-lock.json
中找到所有出现的漏洞包
- 跟进依赖关系树以找到哪些顶级包导入它们
- 卸载和重新安装那些顶级包使用相同的次要版本
喜欢:
npm r package-1 package-2 && npm i package-1@^1.2.3 package-2@^1.2.3
只有当易受攻击的包被修复并发布并且使用包以 loose version number open to patch or minor versions.
导入易受攻击的包时,此方法才有效
在您的项目中尝试 运行 npm install hoek@4.2.x
或 npm install hoek@5
。
这会将所需的最新版本的 hoek 安装到 package.json 依赖项中,覆盖 package-lock.json.
中的 hoek 版本
None 以上对我有用。我对 hoek 的依赖在子树中很深。我首先做了 npm ls hoek
并得到了这样的结果:
├── hoek@5.0.3
└─┬ watson-developer-cloud@2.42.0
├─┬ request@2.83.0
│ └─┬ hawk@6.0.2
│ ├─┬ boom@4.3.1
│ │ └── hoek@4.2.1 deduped
│ ├─┬ cryptiles@3.1.2
│ │ └─┬ boom@5.2.0
│ │ └── hoek@4.2.1 deduped
│ ├── hoek@4.2.1
│ └─┬ sntp@2.1.0
│ └── hoek@4.2.1 deduped
└─┬ solr-client@0.7.0
└─┬ request@2.81.0
└─┬ hawk@3.1.3
├─┬ boom@2.10.1
│ └── hoek@2.16.3 deduped
├── hoek@2.16.3
└─┬ sntp@1.0.9
└── hoek@2.16.3 deduped
然后我看到真正需要更新的是 watson-developer-cloud
,因为那是在顶层使用 hoek 的地方。
然后我做了 npm install watson-developer-cloud@latest
并解决了它。
我尝试了以上所有方法,但都不适合我,所以我继续检查我的根本原因。
我 运行 npm ls hoek
这给了我:
├─┬ fuse-box@3.3.0
│ └─┬ request@2.81.0
│ └─┬ hawk@3.1.3
│ ├─┬ boom@2.10.1
│ │ └── hoek@2.16.3
│ ├── hoek@2.16.3
│ └─┬ sntp@1.0.9
│ └── hoek@2.16.3
└── hoek@5.0.3
我注意到我的 hawk
版本与 npm hawk 上的版本不同,所以我 运行 npm i hawk --save
。之后我再次 运行 我的正常 git 命令:
git add .
git commit -m 'whatever_message'
git push
然后回到 Github,我的 安全漏洞 已修复。
是的,CVE-2018-3728 包存在漏洞。 4.2.1 和 5.0.3 之前的 hoek 版本容易受到原型污染。
受影响的hoek版本一直到5.0.2版本,修复方法是更新到4.2.1、5.0.3或更高版本。
有关详细信息,您可以在此处查看修复拉取请求:https://github.com/hapijs/hoek/pull/231/commits/5aed1a8c4a3d55722d1c799f2368857bf418d6df
今天 github 在我的 github 存储库中显示以下错误:
We found a potential security vulnerability in one of your dependencies. A dependency defined in ./package-lock.json has known security vulnerabilities and should be updated.
单击“查看易受攻击的依赖项”按钮时显示以下消息:
hoek node module before 5.0.3 suffers from a Modification of Assumed-Immutable Data (MAID) vulnerability via 'merge'
直到昨天它还没有显示这样的错误。我已经超过 5 天没有对这个存储库进行任何推送了。知道为什么会这样。
我使用了:rm package-lock.json
&& npm update && npm install
。对我来说,这将 hoek
更新为 4.2.1
,其中还包含修复 (per this comment.)
编辑: 在另一个应用程序中,我 运行 rm package-lock.json
和 npm i hoek && npm up && npm i && npm un hoek
或 npm i hoek && npm un hoek && npm up && npm i
(不记得了order),更符合 with this comment (from JamesSingleton).
(rm package-lock.json
只有存在才有效。)
编辑: 在第三个应用程序中,我检查了 npm outdated
,发现我必须将 react-scripts-ts
从 2.13.0
升级到 2.15.1
。为此,我手动更新了 package.json
,然后只更新了 运行 npm i
。完成后,hoek
更新为 4.2.1.
(专门针对那个 holdout/primary 组件)。
编辑: 我对 Zurb Foundation 6 站点的解决方案:
我使用 npm outdated
将我所有的软件包更新到它们的主要版本。然后我 运行:
npm i hoek@latest --save && npm up hoek
npm i boom hawk sntp uncss gulp-uncss --save && npm up boom hawk sntp uncss gulp-uncss && npm un boom hawk sntp gulp-uncss uncss --save
有两个坚持者; browser-sync : 2.23.7
和 node-sass : 4.9.0
,均为最新版本。不管怎样:提交后 GitHub 警告已解决。
我使用了 npm update hoek && npm install hoek 并将软件包更新到 5.0.3。
此后漏洞警报从我的 github 回购中消失了。
找到解决方案here。
基本上在gitbash,cd
到你的项目文件夹,输入以下代码:
npm i hoek
npm uninstall hoek
npm update
npm install
然后
git add .
git commit -m 'update-hoek'
git push origin master
现在再次检查您的 GitHub 项目页面,警告应该会消失。
此致。
npm update
应该仅在 易受攻击的包被声明为直接项目的依赖项时起作用 。但通常(在 hoek
的情况下) 漏洞位于 存在于 子依赖树 中的那些包中。 =16=]
因为在我的例子中我决定不更新我项目的所有依赖项(通过删除和重建整个package-lock.json
文件),我进行了以下操作(当然,更耗时)方法:
- 在我的
package-lock.json
中找到所有出现的漏洞包
- 跟进依赖关系树以找到哪些顶级包导入它们
- 卸载和重新安装那些顶级包使用相同的次要版本
喜欢:
npm r package-1 package-2 && npm i package-1@^1.2.3 package-2@^1.2.3
只有当易受攻击的包被修复并发布并且使用包以 loose version number open to patch or minor versions.
导入易受攻击的包时,此方法才有效在您的项目中尝试 运行 npm install hoek@4.2.x
或 npm install hoek@5
。
这会将所需的最新版本的 hoek 安装到 package.json 依赖项中,覆盖 package-lock.json.
中的 hoek 版本None 以上对我有用。我对 hoek 的依赖在子树中很深。我首先做了 npm ls hoek
并得到了这样的结果:
├── hoek@5.0.3
└─┬ watson-developer-cloud@2.42.0
├─┬ request@2.83.0
│ └─┬ hawk@6.0.2
│ ├─┬ boom@4.3.1
│ │ └── hoek@4.2.1 deduped
│ ├─┬ cryptiles@3.1.2
│ │ └─┬ boom@5.2.0
│ │ └── hoek@4.2.1 deduped
│ ├── hoek@4.2.1
│ └─┬ sntp@2.1.0
│ └── hoek@4.2.1 deduped
└─┬ solr-client@0.7.0
└─┬ request@2.81.0
└─┬ hawk@3.1.3
├─┬ boom@2.10.1
│ └── hoek@2.16.3 deduped
├── hoek@2.16.3
└─┬ sntp@1.0.9
└── hoek@2.16.3 deduped
然后我看到真正需要更新的是 watson-developer-cloud
,因为那是在顶层使用 hoek 的地方。
然后我做了 npm install watson-developer-cloud@latest
并解决了它。
我尝试了以上所有方法,但都不适合我,所以我继续检查我的根本原因。
我 运行 npm ls hoek
这给了我:
├─┬ fuse-box@3.3.0
│ └─┬ request@2.81.0
│ └─┬ hawk@3.1.3
│ ├─┬ boom@2.10.1
│ │ └── hoek@2.16.3
│ ├── hoek@2.16.3
│ └─┬ sntp@1.0.9
│ └── hoek@2.16.3
└── hoek@5.0.3
我注意到我的 hawk
版本与 npm hawk 上的版本不同,所以我 运行 npm i hawk --save
。之后我再次 运行 我的正常 git 命令:
git add .
git commit -m 'whatever_message'
git push
然后回到 Github,我的 安全漏洞 已修复。
是的,CVE-2018-3728 包存在漏洞。 4.2.1 和 5.0.3 之前的 hoek 版本容易受到原型污染。 受影响的hoek版本一直到5.0.2版本,修复方法是更新到4.2.1、5.0.3或更高版本。 有关详细信息,您可以在此处查看修复拉取请求:https://github.com/hapijs/hoek/pull/231/commits/5aed1a8c4a3d55722d1c799f2368857bf418d6df