严重:新 React Server Component 漏洞 - 拒绝服务与源代码泄露

发布: (2025年12月12日 GMT+8 11:51)
4 min read
原文: Dev.to

Source: Dev.to

Cover image for CRITICAL: New React Server Component Vulnerabilities - Denial of Service and Source Code Exposure

提醒一下,React 开发者!React 团队刚刚宣布了两个新的 React Server Components 漏洞,可能导致服务拒绝(DoS)或泄露源码。如果你在生产环境中使用 React Server Components,请立即修补你的应用。

本文涵盖了 React 的通用漏洞以及对 Next.js 的具体影响。

漏洞概述(React)

这两个漏洞分别是:

  • 服务拒绝(DoS) – 高危(CVSS 7.5,CVE‑2025‑55184)
  • 源码泄露 – 中危(CVSS 5.3,CVE‑2025‑55183)

服务拒绝(DoS)

精心构造的 HTTP 请求可以在服务器上触发无限循环,导致服务器失去响应,从而对用户造成服务拒绝。这是一个高危漏洞,需要立即处理。

源码泄露

该漏洞允许恶意攻击者可能访问你的 Server Functions 源码。通过发送特制的 HTTP 请求,他们能够泄露包括硬编码密钥在内的敏感信息。虽然被归类为中危,但影响可能相当严重。

我是否受影响?(React)

如果你使用 React Server Components,则受影响。这包括以下框架和打包工具:

  • Next.js
  • react‑router
  • Waku
  • @parcel/rsc
  • @vite/rsc-plugin
  • rwsdk

如果你没有使用服务器或你的应用不支持 React Server Components,则不受影响。

修复方案(React)

React 团队已发布以下包的修补版本:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

升级到最新版本(19.0.3、19.1.4、19.2.3)即可修补这些漏洞。

对于 React Native 开发者,React 团队提供了在 monorepo 中更新受影响包的具体说明。

现在该怎么做(React)

  • 检查是否受影响:确认你的应用是否使用了 React Server Components。
  • 升级依赖:如果受影响,升级 react-server-dom-* 包到最新的修补版本。
  • 审计代码:即使已修补,也请审计代码中是否存在硬编码的密钥,并将其迁移到安全位置。

Next.js 专属信息(更新)

Next.js 团队已发布安全更新,解决了 React Server Component 漏洞对使用 App Router 的应用产生的下游影响。

重要提示: 最初针对服务拒绝漏洞(CVE‑2025‑55184)的修复不完整。完整修复已在 CVE‑2025‑67779 下发布。如果你之前已经升级过,需要再次升级到最新的修补版本。

受影响及已修复的 Next.js 版本

发布线修复版本
>=13.314.2.35
14.x14.2.35
15.0.x15.0.7
15.1.x15.1.11
15.2.x15.2.8
15.3.x15.3.8
15.4.x15.4.10
15.5.x15.5.9
15.x canary15.6.0‑canary.60
16.0.x16.0.10
16.x canary16.1.0‑canary.19

Next.js 用户的必需操作

所有用户都应升级到各自发布线的最新修补版本。暂无变通方案。

你可以使用 npmyarn 安装修补版本,例如:

npm install next@14.2.35   # 适用于 14.x
npm install next@15.0.7    # 适用于 15.0.x
npm install next@15.1.11   # 适用于 15.1.x
npm install next@15.2.8    # 适用于 15.2.x
npm install next@15.3.8    # 适用于 15.3.x
npm install next@15.4.10   # 适用于 15.4.x
npm install next@15.5.9    # 适用于 15.5.x
npm install next@16.0.10   # 适用于 16.0.x

npm install next@15.6.0-canary.60   # 适用于 15.x canary 发行版
npm install next@16.1.0-canary.19   # 适用于 16.x canary 发行版

或者,你可以使用交互式工具 fix-react2shell-next 来检查版本并执行升级:

npx fix-react2shell-next

参考文献

Back to Blog

相关文章

阅读更多 »