以下是针对以下漏洞的修复:
Critical Prototype Pollution in immer
Package immer
Patched in >=9.0.6
Dependency of react-scripts
Path react-scripts > react-dev-utils > immer
More info https://github.com/advisories/GHSA-33f9-j839-rf8h
Run Code Online (Sandbox Code Playgroud)
使固定:
安装 immer 的修补版本,在本例中9.0.6,使用以下命令:
npm install --save immer@9.0.6
Run Code Online (Sandbox Code Playgroud)
使用 更新 package.json 文件npm update。
重要提示:如果此时漏洞仍然存在,则仅当您知道这不会破坏您的代码或扰乱项目的先前版本或其他包的依赖项时,您才可以执行以下操作。我是唯一从事我的项目的人,因此此修复适用于我的场景。
在您的package-lock.json文件中,找到过时的软件包,在我的例子中:
"immer": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz",
"integrity": "sha512-aqXhGP7//Gui2+UrHtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaH9RZ1j1xlIYqaaaipBoqcqeibkc17PNvF=="
},
Run Code Online (Sandbox Code Playgroud)
并直接删除它。
对于所有包/依赖项来说,此修复似乎不太可持续,但谁知道呢?如果有更好的方法,请让社区知道。