Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-55182-React2Shell — React2Shell (CVE-2025-55182) 概念验证 (PoC) 漏洞利用程序,演示了使用 React 服务端组件 (RSC) 的现代 Web 框架中的一个严重远程代码执行 (RCE) 漏洞。 | Kitploit
工具/GitHubGitHub/rsch-io/cve-2025-55182-react2shell
Payload生成漏洞利用Web应用程序漏洞利用WAF绕过渗透测试学习与教育红队
GitHubrsch-io/cve-2025-55182-react2shell

CVE-2025-55182-React2Shell

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

React2Shell (CVE-2025-55182) 概念验证 (PoC) 漏洞利用程序,演示了使用 React 服务端组件 (RSC) 的现代 Web 框架中的一个严重远程代码执行 (RCE) 漏洞。

查看仓库
118个月前尚未审核

React2Shell

Language CVE CVSS Target License

React2Shell 是一个概念验证(PoC)漏洞利用,演示了在使用React服务端组件(RSC) 的现代Web框架中的一个严重远程代码执行(RCE)漏洞。

该PoC针对**CVE-2025-55182,这是一个CVSS 10.0漏洞,允许未经认证的远程攻击者**通过React服务端组件实现中的不安全反序列化执行任意系统命令。


🔍 漏洞概述

React2Shell 利用了一个缺陷,该缺陷存在于React服务端组件在重新水合阶段处理不受信任输入的方式中。

指标详细
严重性严重(10.0 / 10.0)
向量CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
攻击向量网络(远程)
用户交互无

该漏洞源于底层的react-server-dom-*包,这些包负责序列化和反序列化组件树。


💥 影响

使用受影响版本的React服务端组件的应用程序,可能会以导致在服务器进程权限下进行远程代码执行(RCE) 的方式处理恶意有效载荷。

攻击者可以:

  • 执行任意系统命令。
  • 横向移动到内部基础设施。
  • 窃取敏感数据。
  • 破坏服务可用性。

如果您的部署匹配以下任何受影响版本且暴露了RSC端点,则您存在漏洞。


📦 受影响组件

该漏洞存在于版本19.0.0、19.1.0、19.1.1 和 19.2.0 的以下包中:

  • react-server-dom-parcel
  • react-server-dom-webpack
  • react-server-dom-turbopack

🎯 受影响框架及版本

这些包被捆绑到多个框架中,包括但不限于:

  • Next.js
    • 版本15.0.0至16.0.6
    • 14.3.0-canary.76之后的Canary版本
  • 使用RSC(v19.0.0–19.2.0)的其他框架,例如:
    • Vite
    • Parcel
    • React Router
    • RedwoodSDK
    • Waku

任何嵌入受影响React服务端组件实现的框架都可能受到影响。


🛠 功能与能力

React2Shell 包含一个模块化有效载荷生成器,旨在绕过常见的Node.js限制和WAF规则:

  • 标准注入

    • 使用process.mainModule.require
    • 针对默认的Next.js/Webpack打包。
  • 异步绕过

    • 在require不可用的严格ESM环境中使用动态import()。
  • 混淆

    • 将敏感字符串(例如child_process)编码为十六进制缓冲区,以规避简单的WAF签名。
  • 模块回退

    • 利用module.createRequire在替代上下文中加载模块。
  • 通用目标

    • 可配置的端点:
      • Next.js: 根目录/
      • Waku: 例如/RSC/foo.txt这样的RSC端点

🚀 安装

前提条件

  • Node.js v18.0.0 或更高版本。

设置

root@kitploit:~
git clone https://github.com/rsch-io/CVE-2025-55182-React2Shell.git
cd CVE-2025-55182-React2Shell

npm install form-data

📖 用法

React2Shell 旨在作为模块导入到您自己的测试脚本中。

1. 基本漏洞利用(Next.js目标)

创建一个名为exploit.js的文件:

root@kitploit:~
const React2Shell = require('./src/react2shell');

// 使用目标基础URL进行初始化
const target = new React2Shell('http://localhost:3000');

// 使用"standard"策略执行命令
// 参数:execute(command, endpoint, strategy)
target.execute('whoami', '/', 'standard');

然后运行:

root@kitploit:~
node exploit.js

注意

  • endpoint 应设置为启用RSC的路由(例如,/、/RSC/foo.txt或框架特定的RSC端点)。
  • strategy 可以更改(例如,standard、async、obfuscated 或 react2shell 中实现的任何其他策略)。

2. 针对Waku/自定义端点

Waku和其他框架通常在特定路由上暴露RSC处理:

root@kitploit:~
// 针对Waku应用程序
// 注意:使用'async'策略,因为Waku通常在严格ESM模式下运行
target.execute('ls -la', '/RSC/foo.txt', 'async');

3. WAF绕过模式

如果服务器阻止包含child_process的字符串,您可以使用obfuscated策略:

root@kitploit:~
target.execute('cat /etc/passwd', '/', 'obfuscated');

🛡️ 解决方案与修复

立即更新。已更新的React及受影响下游框架版本包含了对用户输入的加固处理,以防止意外行为。 所有用户应尽快升级到已修补版本。

✅ 已修复版本列表

以下是已修补版本的确定列表。如果您的部署版本低于以下版本,则您存在漏洞。

针对Next.js 14用户的警告 如果您使用的是Next.js 14.3.0-canary.77或更高版本的canary发布,则您存在漏洞。 您必须立即降级到最新的稳定14.x版本,因为该漏洞影响那些canary构建中存在的实验性RSC实现。


⚠️ 免责声明

本项目仅用于educational和授权的安全测试目的。 在未经明确许可的情况下对系统使用此工具是非法且不道德的。

作者对因使用此工具造成的任何滥用或损害不承担任何责任。


📄 许可证

本项目采用MIT许可证授权。详见LICENSE文件。

下载工具
软件/包分支/类型🛡️ 已修复/安全版本
React稳定版19.0.1、19.1.2、19.2.1
Next.jsv15(稳定版)15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7
Next.jsv16(稳定版)16.0.7
Next.jsCanary15.6.0-canary.58