React2Shell RCE 漏洞:React Server Components 与 Next.js 中的关键利用 — 请立即修补
Source: Dev.to
概述
在 React Server Components (RSC) 中发现了一个严重的安全漏洞,称为 React2Shell,它允许对运行 React 和 Next.js 应用的服务器进行远程代码执行(RCE)。该缺陷位于 RSC 的 “Flight” 协议中,源于不安全的反序列化。攻击者可以发送精心构造的负载,在服务器上执行任意代码。
影响范围
- React Server Components(任何实现)
- Next.js App Router(底层依赖 RSC)
- 任何依赖
react-server-dom-*包的打包工具或框架(例如 Webpack、Turbopack、Parcel)
仅使用 RSC——即使不编写服务器端操作——也足以被利用。独立安全研究人员在披露后不久即观察到利用尝试。
受影响的包
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack
缓解措施
-
升级所有 RSC 包 到已修复的版本:
# 选择以下任意版本(或更高) # 19.0.1, 19.1.2, 19.2.1 -
更新后重新部署 您的应用。
-
Next.js 修复:运行 Next.js 团队提供的自动化工具:
npx fix-react2shell-next然后升级到其公告中列出的已打补丁的 Next.js 版本并重新部署。
-
轮换所有密钥和环境变量。
-
检查日志,留意可疑请求或进程。
-
对补丁前上线的任何部署进行安全扫描。
参考资料
- React advisory:
- Next.js advisory: