漏洞编号: CVE-2025-66478 (Next.js) | CVE-2025-55182 (React)严重级别: CVSS 最高风险等级 10.0影响范围: Next.js 15.x、16.x 及部分 14.x canary 版本
React 官方与 Next.js 团队刚刚发布紧急安全通告:React Server Components (RSC) 协议存在严重漏洞,允许未经认证的攻击者通过构造恶意请求在服务器端执行任意代码。使用 App Router 的 Next.js 应用受到直接影响。官方已发布修复版本,建议所有受影响用户尽快升级。
# 一、哪些项目受影响?
# ✅ 受影响范围
如果你的项目同时满足以下条件,建议尽快升级:
使用 Next.js 的 App Router(不是 Pages Router),且版本在 15.0.0 ~ 15.0.4、15.1.0 ~ 15.1.8、15.2.0 ~ 15.2.5、15.3.0 ~ 15.3.5、15.4.0 ~ 15.4.7、15.5.0 ~ 15.5.6、16.0.0 ~ 16.0.6,或 14.3.0-canary.77 及以上 canary 版本。
# ❌ 不受影响
以下情况不受此漏洞影响:
Next.js 13.x 版本、14.x 稳定版,或使用 Pages Router 的项目,以及运行在 Edge Runtime 的应用。
# 二、漏洞有多严重?
这个漏洞被评为 CVSS 最高风险等级 10.0。攻击者无需任何认证,仅通过网络就能向你的服务器发送特殊构造的 HTTP 请求,触发 React Server Components 在反序列化过程中的缺陷,从而在服务器上执行任意代码。
具体风险:
攻击者可以在你的服务器上运行任意代码,读取环境变量、配置文件、数据库凭证等敏感信息。更严重的情况下,还可能接管整个服务器资源。
即使你的应用没有明确定义 Server Function 端点,启用了 RSC 支持就可能受到攻击。官方暂未公开更详细的技术细节,以保护未升级用户。
# 三、如何修复?
# 方案一:升级到修复版本(推荐)
根据你当前使用的 Next.js 版本,执行对应的升级命令:
# Next.js 15.0.x 用户
npm install next@15.0.5
# Next.js 15.1.x 用户
npm install next@15.1.9
# Next.js 15.2.x 用户
npm install next@15.2.6
# Next.js 15.3.x 用户
npm install next@15.3.6
# Next.js 15.4.x 用户
npm install next@15.4.8
# Next.js 15.5.x 用户
npm install next@15.5.7
# Next.js 16.0.x 用户
npm install next@16.0.7
# 方案二:14.3 canary 用户降级
如果你在使用 14.3.0-canary.77 或更高的 canary 版本,请降级到最新的 14.x 稳定版:
npm install next@14
# 升级后验证
升级完成后,建议执行以下检查:
确认版本: 运行 npm ls next 或查看 package.json;运行测试: 确保应用功能正常;检查 CI/CD: 更新锁文件 (package-lock.json / yarn.lock / pnpm-lock.yaml);清理缓存: 删除 .next 目录并重新构建。
# 四、生产环境自查清单
如果你负责多个项目或团队基础设施,可以按照以下清单逐一排查:
确认所有生产项目的 Next.js 版本 → 识别使用 App Router 的项目(Pages Router 不受影响)→ 执行升级并更新依赖锁文件 → 在预发布环境测试修复版本 → 部署到生产环境 → 检查监控和日志,确认无异常请求。
特别提示: 即使托管服务商(如 Vercel)已经部署临时 WAF 规则来缓解攻击,官方仍强烈建议升级,不要依赖临时防护措施。
# 五、关于上游漏洞 (React)
此漏洞源于 React Server Components 的底层实现(CVE-2025-55182)。如果你直接使用 React 19 并启用了 RSC,也需要升级对应的 React 包:
React 修复版本: 19.0.1、19.1.2、19.2.1
受影响的包括 react-server-dom-webpack、react-server-dom-parcel 和 react-server-dom-turbopack。
其他集成 RSC 的框架(如 React Router、Waku、Redwood SDK)也可能受影响,请查阅各自社区的安全通告。
# 六、致谢与参考
感谢安全研究员 Lachlan Davidson 发现并负责任地披露了这个漏洞。
官方公告: