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

semver正则表达式拒绝服务漏洞求助(已尝试多种修复手段)

解决Expo依赖链中的semver正则拒绝服务漏洞

问题背景

你碰到的是semver 7.0.0-7.5.1版本的正则表达式拒绝服务漏洞,该漏洞藏在@expo/image-utils的嵌套依赖里,进而牵连@expo/cli、@expo/prebuild-config以及expo 50.0.0-alpha.0至50.0.14版本。常规的npm audit fix、重装依赖、手动改package-lock.json都搞不定嵌套依赖的版本锁定问题。

可行解决方案

1. 用npm Overrides强制升级嵌套semver版本

npm 8.3及以上版本支持overrides字段,能强制指定嵌套依赖的版本,绕开依赖链的版本限制。在项目根目录的package.json里加以下配置:

{
  "overrides": {
    "@expo/image-utils>semver": "^7.5.2"
  }
}

加完后执行:

npm install

这会强制把@expo/image-utils依赖的semver升级到安全版本(7.5.2及以上),之后跑npm audit验证漏洞是否修复。

2. 升级Expo核心依赖到修复版

Expo后续版本已经修复了@expo/image-utils的semver依赖问题,直接把相关依赖更到最新稳定版:

npm install expo@latest @expo/cli@latest @expo/prebuild-config@latest

升级完重新装依赖,就能彻底清掉漏洞依赖。

3. 清理npm缓存确保依赖全更新

要是上面的方法还不行,先清缓存再重装:

npm cache clean --force
rm -rf node_modules package-lock.json
npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:27:26