React学习过程中遇到set-value原型污染漏洞,寻求有效解决方法
问题根因
你当前使用的react-scripts@4.0.3版本的嵌套依赖中包含存在原型污染漏洞的低版本set-value包,该漏洞由第三方依赖引入,和项目业务代码无关。
修复方案
- 方案1:升级
react-scripts到安全版本
直接修改package.json中react-scripts的版本号为^5.0.1,删除项目根目录下的node_modules文件夹、package-lock.json(或yarn.lock)文件,重新执行npm install(或yarn install)即可。react-scripts 5.x官方已完成该嵌套依赖漏洞的修复。 - 方案2:强制覆盖依赖版本(适用于无法升级
react-scripts的场景)
如果项目因兼容性问题暂时无法升级到react-scripts 5.x,可以通过包管理器的依赖覆盖功能强制指定set-value的安全版本(≥4.1.0):- npm用户在package.json中新增
overrides字段:
"overrides": { "set-value": "^4.1.0" }- Yarn v1用户在package.json中新增
resolutions字段:
配置完成后重新执行依赖安装命令即可生效。"resolutions": { "set-value": "^4.1.0" } - npm用户在package.json中新增
验证修复结果
执行npm ls set-value(npm用户)或yarn list set-value(Yarn用户),检查输出的所有set-value版本号均≥4.1.0,即说明漏洞已修复。
内容的提问来源于stack exchange,提问作者TrinDa
相关产品推荐
相关产品推荐

