React2Shell漏洞深度解析:如何利用React Server Components实现远程代码执行

6 阅读1分钟

React2Shell: The Exploit That Shocked the Web

在过去的一周里,一个神秘的恶意载荷让全球的工程师和安全团队彻夜难眠。

它的名字叫 React2Shell —— 一个针对 React Server Components 和 Next.js 应用的危险且优雅的漏洞。

该漏洞(编号 CVE-2025-55182)的严重程度评分为 10/10,表明它可以实现完整的远程代码执行(RCE)。简单来说,攻击者可以在你的服务器上运行任意 JavaScript 代码 —— 窃取机密信息、调用 API,甚至执行 Shell 命令。

让我们分析发生了什么、它是如何工作的,以及我们能从中吸取哪些教训。

背景:为何这种攻击成为可能

要理解这个攻击,你只需要知道两个事实:

1. JavaScript 极其动态

  • 类型在运行时可以变化
  • 代码可以动态求值其他代码(evalnew Function
  • 如果一个对象包含 .then 方法,它可以伪装成 Promise

这对开发者来说很有趣 —— 但对攻击者来说却是一条高速公路。

2. React Flight 协议通过网络流式传输内部数据

Flight 是为 React Server Components(RSC) 提供支持的协议。 CSD0tFqvECLokhw9aBeRqkwakniCjGUCNWbOxkpz3gx7vcsbSTUFV7j/C716+dujufUTXllZUyH3D4HehNIXgIsVoIHidUHbNh0Gb/kShAa5CiVjm1zYFZ1TjA/p9srK