已解决:Next.js 与 React 19 中的关键 RSC 漏洞。以下是修复方法。
发布: (2026年2月26日 GMT+8 15:40)
4 分钟阅读
原文: Dev.to
Source: Dev.to
TL;DR
已在 React Server Components(RSC)“Flight”协议中发现一个关键的远程代码执行(RCE)漏洞,主要通过恶意负载反序列化影响 Next.js 应用。立即的解决方案是将 Next.js、React 和 react‑dom 升级到最新的已修补版本,并在 CI/CD 流水线中加入自动化依赖扫描。
正在发生什么?
- 漏洞类型: 远程代码执行(RCE)
- 根本原因: 在 React Server Components “Flight”协议的 Server Actions 中对客户端发送的数据进行反序列化。
- 影响: 攻击者可以构造恶意负载,当受影响的 Next.js 服务器对其进行反序列化时执行任意代码。
“远程代码执行”是我们这行工作中最令人恐惧的三个词。 – 值班工程师,凌晨 02:00
立即修复措施
- 确认当前使用的 Next.js 版本。
- 升级 到已修补的版本(见下表)。
- 升级 React 包(
react和react-dom)到最新版本。
版本矩阵
| 受影响的 Next.js 版本范围 | 修补后版本(升级至) |
|---|---|
| 14.1.1 – 14.1.4 | 14.2.0 或更高 |
| 14.0.0 – 14.1.0 | 14.1.1(或理想情况下,最新版本) |
| 13.0.0 – 13.5.6 | 最新 13.x 或迁移至 14.x |
升级命令
npm
npm install next@latest react@latest react-dom@latest
yarn
yarn upgrade next@latest react@latest react-dom@latest
升级后,重新构建并部署应用。此一步即可消除当前威胁。
长期防护
自动化依赖扫描
- GitHub Dependabot – 启用警报和安全更新(Settings → Code security and analysis)。
- Snyk / Sonatype – 集成到 CI 中,使构建在检测到关键漏洞时失败。
- Renovate Bot – 自动保持依赖最新。
“让机器人来做枯燥的工作。” – TechResolve 团队
验证(可选,请勿在生产环境运行)
- 将已修补的版本部署到 staging 环境(例如
staging‑webapp‑01)。 - 向 Server Action 接口发送构造的 POST 请求。
- 确认服务器 拒绝 该异常负载并返回错误,而不是执行它。
此“核选项”可证明漏洞路径已关闭,帮助安全团队确认修复效果。
结论
- 立即升级 – 这是中和 RCE 的最快方式。
- 自动化扫描 – 将被动修补转化为主动防御。
- 验证 – 在确认修复生效后再关闭问题。
保持警惕,及时更新依赖,让机器人承担繁重工作。 🚀
保持安全。 这件事很严肃,但只要保持冷静并遵循稳健流程,它就是 DevOps 工程师日常的一部分。
阅读原文请访问 TechResolve.blog
☕ 支持我的工作
如果本文对你有帮助,欢迎请我喝咖啡:
👉