React Server Components (RSC) 协议中的高危漏洞:CVE-2025-55182 技术剖析

5 阅读1分钟

我撰写这篇博客是因为我发现,对于那些确实了解React但无法理解此问题的初学者,目前还没有任何博客能真正解释清楚。本文纯粹用于教育目的。

此问题的根源在于Next.js中React Server Functions处理客户端和服务器之间数据块的方式存在安全缺陷。以下是逐步概述以及数据块如何参与其中:

1. React Server Functions 中的数据处理背景

React Server Functions 就像客户端和服务器之间的通信桥梁,使得客户端能够向服务器发送数据请求。对这些请求的响应使用一种叫做 React Flight 协议 的东西,其中数据块被传输到服务器进行反序列化。

  • 数据块:这些是在客户端和服务器之间传递的小块数据。数据块可以相互引用,这种引用关系告诉服务器如何高效地处理复杂数据。

为什么 React Flight 协议很重要?

服务器组件允许 React 应用程序将某些操作卸载到服务器。Flight 协议通过定义如何在...之间编码、传输和解码数据使这成为可能。 CSD0tFqvECLokhw9aBeRqgogYUG9/yr4cbJrLtRx1UHTPT620wqVETV/UVJ80k4HJPZ15Uv3YXxcJ7YeWV+Blx9a0pGuxC3mT+zErVuZUztYcmoaGjBeAn5lsEw/gNdOkvwzrP5UIz/BHPXhyGXwKw==