React与Node.js高危漏洞紧急修复指南 (CVE-2025-55182)

本文详细分析了React Server Components中一个最高严重性的反序列化漏洞(CVE-2025-55182),该漏洞可能导致未经认证的攻击者在应用服务器上实现远程代码执行。文章提供了受影响的版本列表、修复建议以及相关的缓解措施。

React与Node.js高危漏洞紧急修复:立即更新以应对CVE-2025-55182

React开发团队于周三警告称,React Server Components (RSC) 中存在一个关键漏洞 (CVE-2025-55182),可能允许未经身份验证的攻击者在应用服务器上实现远程代码执行。

该最高严重性漏洞由Lachlan Davidson私下报告,目前已被修复。截至目前,尚未有公开报告表明攻击者已利用此漏洞,也未确认存在公开的概念验证 (PoC) 利用代码。

尽管如此,受影响用户已被建议升级到React及相关依赖库、框架和打包工具的非易受攻击版本。

关于 CVE-2025-55182 (和 CVE-2025-66478)

React 是一个免费开源的 JavaScript 库,允许开发者为 Web、移动和桌面应用、单页应用程序及仪表盘构建快速、交互式的用户界面。

React Server Components (RSC) 是一项让部分React应用在服务器端而非浏览器中运行的功能。RSC于2024年底随React v19推出。

CVE-2025-55182 (亦被称为“React2Shell”) 是存在于React Server Components 版本 19.0.0、19.1.0、19.1.1 和 19.2.0 中的不安全反序列化漏洞,涉及以下包:react-server-dom-parcelreact-server-dom-turbopackreact-server-dom-webpack。该漏洞已在 React v19.2.1 中修复。

关于该缺陷的具体细节目前暂未公开。

React团队解释道:“React Server Functions允许客户端调用服务器上的函数。React提供了集成点和工具,供框架和打包器使用,以帮助React代码在客户端和服务器上运行。React将客户端的请求转换为HTTP请求并转发到服务器。在服务器端,React将HTTP请求转换成一个函数调用,并将所需数据返回给客户端。”

“CVE-2025-55182 可能允许未经认证的攻击者针对任何 Server Function 端点构造恶意的 HTTP 请求,当该请求被React反序列化时,即可在服务器上实现远程代码执行。即使你的应用程序没有实现任何 React Server Function 端点,但如果你的应用支持 React Server Components,它可能仍然容易受到攻击。”

该漏洞同样影响其他依赖React或包含易受攻击的React包的框架和软件包:Next.js、React Router、Waku、Redwood SDK、Expo、Vite、Parcel 等。

由于该漏洞也影响使用App Router的Next.js应用程序,Vercel为其分配了另一个CVE编号——CVE-2025-66478。Next.js 版本 15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7 和 16.0.7 包含了修复程序。

不使用服务器或不使用支持 React Server Components 的框架、打包器或打包器插件的应用程序不受影响。

可用的缓解措施与补丁

Wiz威胁研究人员表示:“Wiz数据显示,39% 的云环境中包含易受 CVE-2025-55182 和/或 CVE-2025-66478 攻击的 Next.js 或 React 版本实例。”

“关于 Next.js,该框架本身存在于 69% 的环境中。值得注意的是,这些环境中有 61% 运行着公开的 Next.js 应用程序,这意味着 44% 的所有云环境都有公开暴露的 Next.js 实例(无论运行的是哪个版本)。”

Cloudflare 和 Google Cloud 已实施新的规则,以保护使用其Web应用程序防火墙的客户,不过客户仍应尽快更新至最新版本的 React 19.2.1 和 Next.js。

React团队已为 React、Node.js 及其他易受攻击框架的用户概述了更新说明。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计