如何修复依赖于其他npm包的Node.js漏洞?以prismix依赖链中undici为例
解决npm间接依赖包漏洞的方法
针对你遇到的undici作为prismix间接依赖存在漏洞、且npm audit fix和升级prismix无效的情况,可尝试以下方案:
强制指定依赖版本(npm)
在项目根目录的package.json中添加overrides字段,强制让所有依赖链中的undici使用修复后的版本:{ "overrides": { "undici": "^5.8.0" } }保存后运行
npm install,npm会自动替换旧版本的undici。强制指定依赖版本(yarn)
若使用yarn包管理器,在package.json中添加resolutions字段:{ "resolutions": { "undici": "^5.8.0" } }执行
yarn install即可生效。推动上游修复
由于漏洞出现在prismix > @prisma/sdk > @prisma/engine-core的依赖链中,你可以向prismix或@prisma/sdk的官方仓库提交issue,提醒维护者更新依赖至包含修复的版本;也可以fork仓库自行更新依赖后提交PR。谨慎使用强制修复命令
执行npm audit fix --force可强制升级存在冲突的依赖,但可能引发项目兼容性问题,操作前需备份代码并做好功能测试。
漏洞详情:
Moderate undici before v5.8.0 vulnerable to CRLF injection in request headers Package undici Patched in >=5.8.0 Dependency of prismix Path prismix > @prisma/sdk > @prisma/engine-core > undici
内容的提问来源于stack exchange,提问作者Teknoville
相关产品推荐
相关产品推荐

