如何修复immer的Critical Prototype Pollution漏洞(>=9.0.6版本已修补)?
immer原型污染漏洞修复方案
漏洞基本信息
严重级别:Critical 漏洞类型:immer 原型污染 依赖包名 immer 已修复版本 >=9.0.6 所属上层依赖 react-scripts 完整依赖路径 react-scripts > react-dev-utils > immer 参考编号 GitHub Advisory GHSA-33f9-j839-rf8h
修复步骤
- 安装已修补的immer版本,本次示例版本为
9.0.6,执行以下命令:
npm install --save immer@9.0.6
- 执行
npm update命令更新package.json文件。
重要提示:若执行完上述两步后漏洞仍然存在,请仅在确认操作不会破坏项目代码、不会影响旧版本或其他包依赖关系时再执行后续步骤,本方案默认适用于个人独立开发的项目场景。
- 在
package-lock.json文件中找到过期的immer包条目,参考示例如下:
"immer": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", "integrity": "sha512-aqXhGP7//Gui2+UrHtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaH9RZ1j1xlIYqaaaipBoqcqeibkc17PNvF==" },
找到后直接删除该段内容即可。
本方案可能并非适用于所有包/依赖场景,若有更优方案欢迎在社区交流分享。
内容的提问来源于stack exchange,提问作者Juno Sprite
相关产品推荐
相关产品推荐

