React 19 和 Next.js 远程代码执行漏洞 发表于 2025-12-08 | 分类于 安全 | 暂无评论 一、漏洞情况分析 React是用于构建用户界面的JavaScript库,由美国Meta公司开发维护。该库自2013年起开源,已成为全球流行的前端开发工具之一。 React Server Components(RSC)是React 18开始引入的一种渲染处理方式。RSC允许React组件在服务器端执行,并通过Flight协议将序列化的渲染结果,流式传输给客户端。RSC被Next.js、Shopify Hydrogen、Gatsby 5等主流框架广泛采用。RSC与其他渲染处理方式(客户端渲染、服务器端渲染)相比,大幅降低了客户端运行负载,加快了页面加载速度。 由于RSC服务器的react-server相关程序,在处理客户端的Flight协议数据时,缺少必要的安全校验,未经授权的攻击者可在远程条件下,通过构造恶意RSC请求发送至目标服务器,实现对服务器的远程代码执行,从而在服务器上执行任意系统命令、读写任意文件,获取目标服务器权限。 React 这边的编号叫:CVE-2025–55182。 Next.js 单独拿了一个编号:CVE-2025–66478(因为它把 RSC 打包在框架里了)。 二、漏洞影响范围 漏洞影响的产品版本包括: 1、React: React 19.0.0 React 19.1.0 React 19.1.1 React 19.2.0 2、使用RSC和App Router的Next.js: Next.js v15.0.0-15.0.4 Next.js v15.1.0-15.1.8 Next.js v15.2.x-15.5.6 Next.js v16.0.0-16.0.6 Next.js v14.3.0-canary.77及以上Canary版本 3、Dify、NextChat等依赖React的产品。 三、漏洞处置建议 目前,React和Next.js已发布新版本修复该漏洞,建议受影响用户尽快进行自查,并立即更新至安全版本: https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components Next.js 发布了一款名为 fix-react2shell-next 的专用命令行工具,帮助开发者快速检测并修复高危"React2Shell"漏洞(CVE-2025-66478)。这款新型扫描器提供单行命令解决方案,可识别存在漏洞的 Next.js 和 React Server Components(RSC)版本,并自动应用最新 Next.js 版本中包含的安全更新。 自动化检测与修复 该工具通过递归扫描项目中的所有 package.json 文件来简化修复流程。这种设计确保其能有效适用于标准代码库以及由 npm、yarn、pnpm 或 bun 管理的复杂 monorepo 项目。 与容易出错的人工检查不同,该扫描器会系统性地验证已安装的 next、react-server-dom-webpack、react-server-dom-parcel 和 react-server-dom-turbopack 版本。一旦发现存在漏洞的软件包,工具会将其更新至 GitHub 官方公告指定的安全版本。 随后,工具会根据检测到的包管理器刷新 lockfile,确保修复被正确锁定。例如,它会自动将存在漏洞的 Next.js 15.1.0 版本直接升级至已修复的 15.1.9 版本。 工具使用方法 开发者可直接使用 npx 运行该工具。若希望在更改前进行确认,可运行标准命令获得交互式体验。 对于持续集成(CI)环境或无法进行提示的自动化工作流,可使用 fix 标志强制工具自动应用补丁。相反,若团队希望在不立即更改的情况下审计项目,可使用 dry-run 标志查看将更新的内容报告。 此外还提供 json 标志用于脚本编写,允许安全团队将输出传输到其他监控工具中。要运行交互式修复,请在终端执行以下命令:npx fix-react2shell-next。 参考链接: >CNVD漏洞平台 https://server.51cto.com/article/831333.html https://www.freebuf.com/articles/web/460945.html https://cybersecuritynews.com/next-js-released-a-scanner/