
11 月 29 日,Lachlan Davidson报告了 React Server Components(RSC)中一个未经身份验证的远程代码执行(RCE)漏洞。该漏洞于 12 月 3 日公开披露,并被追踪为CVE-2025-55182,具有最高严重性等级(10.0)。亚马逊威胁情报团队报告称,多个与中国政府有关的威胁组织正在尝试积极利用这一漏洞。这一关键漏洞影响 React 版本 19.0.0 至 19.2.0 以及使用 App Router 的 Next.js 15.x 和16.x版本。强烈建议公司立即修补。
在最初的PoC中,Davidson 展示了如何利用 React Server Components 使用的序列化/反序列化协议来创建一个类似 promise 的对象,当等待时,攻击者可以通过调用原生函数(如 child_process.execSync )来执行任意代码。虽然修复看起来很简单(添加 hasOwnProperty 检查以避免JavaScript的对象原型污染),但漏洞本身也很简单,可以从许多来源获得公共漏洞代码(其中一些是 AI 生成的)。
除了 AWS,各种安全公司和咨询公司也识别出了包含武器化有效载荷的积极利用尝试。亚马逊报告称:
对 MadPot 的数据分析揭示了这些利用尝试的持续性。在一个值得注意的例子中,一个与 IP 地址 183[.]6.80.214 相关的未归归属威胁集群花费了近一个小时(从 UTC 时间 2025 年 12 月 4 日凌晨 2:30:17 至 3:22:48)系统地排除了利用尝试的故障:
* 52 分钟内总共有 116 个请求
* 尝试了多个漏洞有效载荷
* 尝试执行 Linux 命令(whoami, id)
* 尝试写入文件到/tmp/pwned.txt
* 尝试读取/etc/passwd
这个漏洞是服务器端JavaScript原型污染的一个案例。为了污染对象,攻击者需要一种方法来向原型对象添加任意属性。在第二步中,攻击者需要一个利用向量来访问被污染的属性。
在这种特定情况下,通过精心设计的负载添加任意属性,这些负载被Flight协议反序列化为损坏的 JavaScript 对象,该协议由 React Server Components 用于与服务器通信。需要由 React Server Component 渲染数据的客户端向服务器端点发送请求。服务器解析传入的有效载荷,执行相关的服务器端逻辑,并返回组件树的序列化表示。这里的第二步是将有效负载作为 promise 进行不安全的反序列化。未修补的 React 版本不验证序列化的有效载荷并开始解析它(例如,等待 promise,从而运行注入的 then 代码)。服务器端 JavaScript 环境对代码可以做什么几乎没有限制,因此攻击者可以读取文件、生成进程和运行任意命令。
读者可以在Moritz Sanft的详细技术介绍中找到更多技术细节。更重要的是,公司应该尽快修补已识别的包以及将它们列为依赖项的包(例如,一些 Vite 插件、react-router、waku)。
原文链接:
https://www.infoq.com/news/2025/12/CVE-2025-55182-react-server-func/







评论