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

4 阅读1分钟

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

它的名字是 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