已解决: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.jsReactreact‑dom 升级到最新的已修补版本,并在 CI/CD 流水线中加入自动化依赖扫描。

正在发生什么?

  • 漏洞类型: 远程代码执行(RCE)
  • 根本原因: 在 React Server Components “Flight”协议的 Server Actions 中对客户端发送的数据进行反序列化。
  • 影响: 攻击者可以构造恶意负载,当受影响的 Next.js 服务器对其进行反序列化时执行任意代码。

“远程代码执行”是我们这行工作中最令人恐惧的三个词。 – 值班工程师,凌晨 02:00

立即修复措施

  1. 确认当前使用的 Next.js 版本。
  2. 升级 到已修补的版本(见下表)。
  3. 升级 React 包reactreact-dom)到最新版本。

版本矩阵

受影响的 Next.js 版本范围修补后版本(升级至)
14.1.1 – 14.1.414.2.0 或更高
14.0.0 – 14.1.014.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 团队

验证(可选,请勿在生产环境运行

  1. 将已修补的版本部署到 staging 环境(例如 staging‑webapp‑01)。
  2. 向 Server Action 接口发送构造的 POST 请求。
  3. 确认服务器 拒绝 该异常负载并返回错误,而不是执行它。

此“核选项”可证明漏洞路径已关闭,帮助安全团队确认修复效果。

结论

  • 立即升级 – 这是中和 RCE 的最快方式。
  • 自动化扫描 – 将被动修补转化为主动防御。
  • 验证 – 在确认修复生效后再关闭问题。

保持警惕,及时更新依赖,让机器人承担繁重工作。 🚀

保持安全。 这件事很严肃,但只要保持冷静并遵循稳健流程,它就是 DevOps 工程师日常的一部分。

阅读原文请访问 TechResolve.blog

☕ 支持我的工作

如果本文对你有帮助,欢迎请我喝咖啡:

👉

0 浏览
Back to Blog

相关文章

阅读更多 »