缓解 React Server Components RCE(CVE-2025-55182)
Source: Dev.to
React Server Components (RSC) 最近被发现受到高危远程代码执行漏洞 (CVE‑2025‑55182) 的影响。
攻击者可以在 Flight 协议中构造恶意序列化数据,利用诸如 Next.js Server Actions 等特性,触发反序列化缺陷,从而在服务器上实现远程代码执行。
什么是 CVE‑2025‑55182?
React Server Components (RSC) 包含一个高危 反序列化缺陷,可能导致 远程代码执行。
在受影响的环境中,攻击者可以:
- 在 React Flight 协议 中构造 恶意序列化负载
- 利用 Next.js Server Actions(
"use server") - 触发不安全的反序列化逻辑
结果: 在服务器上执行任意代码。
只要 RSC 和 Server Actions 对不受信任的输入暴露,攻击面就会存在。
优先级 1:识别并修补(主要缓解措施)
最重要的缓解措施是 识别并升级。WAF 规则可以提供帮助,但不能替代根本原因的修复。
如何判断是否受影响
如果以下 全部或大多数 条件成立,你很可能受到影响:
- 使用 Next.js,尤其是 v13.4 或更高版本
- 应用使用 React Server Components
- 代码库中包含
"use server"指令(Server Actions)
重要提示
易受攻击的包 (react-server-dom-webpack) 通常 由 Next.js 内部打包。你可能在package.json中看不到它,因此不要因为它未列为直接依赖就认为安全。
升级建议
立即升级到最新的 已修补安全漏洞 的 Next.js 版本。
截至撰写本文时,这意味着:
- 在 Next.js 14.x 中的已修补发布,或
- 在 Next.js 15.x 中的更高修复版本
React 团队通过修复 对恶意 Thenable 对象的不安全解析 来解决根本问题,这正是反序列化漏洞的核心。
这才是唯一完整的修复方案。
其他所有措施都应视为临时的风险降低手段。
优先级 2:使用 SafeLine 的 WAF 级别缓解
如果无法立即升级(例如因发布冻结或遗留依赖),可以在 WAF 层添加 防御层。这 并不能消除漏洞,但可以帮助拦截 已知的利用模式。
示例:SafeLine 自定义拒绝规则
在 SafeLine WAF 中,配置如下条件的自定义 拒绝规则:
请求头
Content-Type 匹配(正则):multipart
且
请求体
正则匹配:[’”]?then[’”]?\s*:\s*[’”]?$1:proto:then

此规则针对尝试通过在序列化数据中滥用 Thenable 结构来利用 RSC 反序列化逻辑的负载。
该规则的作用(以及不做的事)
-
✅ 有助于拦截已知的利用签名
-
✅ 在补丁窗口期间降低暴露风险
-
❌ 不 能保证对新出现或混淆的负载提供保护
-
❌ 不 能替代升级 Next.js
把它当作 安全带,而不是根治方案。
结论
- 如果你使用 Next.js + RSC + Server Actions,应假设存在风险,直至证实安全。
- 升级是强制性的,而非可选。
- WAF 规则(如 SafeLine 中的规则)最适合作为 深度防御,尤其在迁移期间。
配置良好的 WAF 能为你争取宝贵时间,但 应用层面的漏洞无法仅靠外围防御完全解决。