You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更新作为peer dependency的tar,规避CVE-2020-8244缓冲区过度读取漏洞?

解决tar@6.1.11缓冲区过度读取漏洞的方案

方案一:用npm overrides强制锁定安全版本(npm 8.3及以上版本支持)

  • 在项目根目录的package.json中添加overrides配置,强制所有嵌套依赖使用tar@6.1.12:
{
  "overrides": {
    "tar": "6.1.12"
  }
}
  • 执行npm install,npm会自动替换依赖树中所有实例的tar版本为指定的安全版本,同时处理依赖去重。

方案二:升级上游依赖(更彻底的长期方案)

从你的依赖树可以看到,tar是通过cacache(来自copy-webpack-plugin)和node-gyp(来自node-sass)引入的:

  • 升级copy-webpack-plugin:执行npm update copy-webpack-plugin,新版本的该插件大概率已经依赖了包含tar安全版本的cacache。
  • 升级node-sass:执行npm update node-sass,更高版本的node-sass可能已经更新了make-fetch-happen和node-gyp的依赖,间接修复tar版本问题。
  • 升级完成后,再次运行npm list tar确认所有tar实例都已升级到6.1.12。

验证修复效果

运行npm list tar,如果输出中所有tar的版本均为6.1.12,说明修复成功。之后重新执行AquaSec安全扫描,确认漏洞已消除。

内容的提问来源于stack exchange,提问作者Federick J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 10:12:16