Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-55182 — CVE-2025-55182 React RCE テストプログラム | Kitploit
ツール/GitHubGitHub/theman001/cve-2025-55182
脆弱性スキャナーペイロード生成エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubtheman001/cve-2025-55182

CVE-2025-55182

CVE-2025-55182 React RCE テストプログラム

リポジトリを見る
22ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2025-55182 (React2Shell)

CVE-2025-55182 React RCE テストプログラム

🔒 CVE-2025-55182 インタラクティブ RCE スキャナー

このスクリプトは、React 19.x の React Server Components (RSC) に存在する 深刻なリモートコード実行 (RCE) 脆弱性 である CVE-2025-55182 を対象とした 脆弱性検証ツール です。

本ツールは、実際のサーバーで脆弱性が存在するかを判断し、オプションに応じて コマンドを実行 したり、ログを記録 したり、2段階 RCE 方式 (module#_load) でもテストできます。

⚠️ このツールは、閉じたテスト環境 で セキュリティ監査および脆弱性検証の目的 でのみ使用する必要があります。


📋 React2Shell (CVE-2025-55182) 脆弱性概要

項目内容
脆弱性番号CVE-2025-55182 (React) / CVE-2025-66478 (Next.js)
脆弱性名React2Shell
脆弱性タイプリモートコード実行 (RCE) – 認証不要
深刻度 (CVSS)10.0 (致命的)
発見日2025-11-29 (Lachlan Davidson)
攻撃難易度非常に低い (Log4Shell レベル)
脆弱性説明Flight 逆シリアル化処理中に requireModule() 関数のブラケット記法を介してプロトタイプチェーン (constructor, __proto__) にアクセス可能になる構造的 RCE 脆弱性

🧱 脆弱な製品とバージョン

製品/ツール脆弱バージョンパッチ済みバージョン
React.js19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpack同上 (↑)同上
react-server-dom-parcel同上 (↑)同上
react-server-dom-turbopack同上 (↑)同上
Next.js 1414.3.0.canary.77 以降の一部バージョン(非公式) 15.0.5 以上への切り替え推奨
Next.js 1515.0.0 ~ 15.5.615.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 15.6.0
Next.js 1616.0.0 ~ 16.0.616.0.7
その他ツールReact Router RSC, RedwoodJS, Vite RSC Plugin, Parcel RSC Plugin など各プロジェクトの RSC 依存関係パッチが必要

✅ RSC 機能を含むプロジェクトは、React とは別に react-server-dom-* モジュールも必ず最新バージョンにアップグレードする必要があります。


📚 Table of Contents

  • 🗂️ ディレクトリ構造
  • 🧩 主な機能
  • 📦 インストール方法
  • 🚀 実行例
  • 💬 インタラクティブコマンド入力例
  • ⚠️ セキュリティ注意事項
  • 📚 技術参考
  • 📄 ライセンスおよび使用条件

🗂️ ディレクトリ構造

root@kitploit:~
CVE-2025-55182/
├── README.md                     # 全体概要とスキャナー使用法
├── DETECTION_RULES.md            # 検出/ブロック用ルール集
├── 설명 및 탐지규칙.md             # 韓国語検出ルール説明
├── cve_2025_55182_interactive.py # RCE 検証スキャナースクリプト
├── requirements.txt              # スキャナー依存関係リスト
├── setup_vulnerable_env.sh       # 脆弱環境一括インストールスクリプト
├── uninstall_vulnerable_env.sh   # 脆弱環境整理/削除スクリプト
└── vulnerable-react-env/         # React2Shell 脆弱サーバー実習用コード
    ├── README.md                 # 実習環境の使い方
    ├── package.json              # npm スクリプトと依存関係
    ├── server.js                 # 脆弱な Express バックエンド
    ├── public/
    │   └── index.html            # CDN ベースの React フロントエンド
    └── .gitignore

🧩 主な機能

✅ 脆弱サーバーで RCE が可能かインタラクティブ方式でテスト
✅ child_process#execSync (デフォルト) または module#_load 方式をサポート
✅ コマンド実行結果をログファイルに保存
✅ ユーザーが直接入力したシステムコマンドをサーバーに送信


📦 インストール方法

root@kitploit:~
git clone <this-repo>
cd <this-repo>
pip install -r requirements.txt

🚀 実行例

  1. 基本 RCE テスト (execSync 方式)

    • child_process.execSync() を使用したコマンド実行
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce
  2. 2段階 RCE テスト (module#_load 方式)

    • 悪意のある JS ファイルを作成後 module#_load を介して実行
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad
  3. RSC ベース RCE テスト (--rce2 オプション)

    • Next.js のサーバーコンポーネント処理パスを介したペイロード実行
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce2
  4. コマンド実行結果ログ保存

    • すべてのコマンド結果を指定のログファイルに保存
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --log rce_output.log
  5. 全機能活用 (方式 + ログ)

    • moduleLoad 方式とログ保存を併用
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad --log rce_output.log
  6. ペイロードデバッグ出力

    • サーバー送信前にペイロードをコンソールに出力
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --debug

🚧 脆弱な React サーバー実習環境 (OCI/Ubuntu)

vulnerable-react-env フォルダには、CVE-2025-55182 を再現できる 意図的に脆弱な React + Express サーバー が含まれています。

  1. 迅速な一括設定 (推奨)
    • ./setup_vulnerable_env.sh を実行すると、apt パッケージインストール → nvm/Node.js 20 インストール → npm install が一度に完了します。
    • 完了後、cd vulnerable-react-env && npm start または npm run dev でサーバーを起動します。
    • ⚠️ npm run だけ入力するとスクリプトリストのみ出力されます。必ず npm start (または npm run start) のようにスクリプト名を指定してください。
    • 環境を整理するには ./uninstall_vulnerable_env.sh で node_modules、moduleLoad ペイロード、 (オプション) Node 20 および nvm を削除できます。
    • ❗️ ERR_MODULE_NOT_FOUND: Cannot find package 'express' などの依存関係エラーが出た場合は、cd vulnerable-react-env && npm install で node_modules をインストールした後、再度 npm start してください。
  2. 手動設定 (代替)
    • sudo apt update && sudo apt install -y curl build-essential
    • curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh -o /tmp/install_nvm.sh && bash /tmp/install_nvm.sh
    • nvm install 20 && nvm use 20
    • cd vulnerable-react-env && npm install
    • npm start (デフォルトポート: 3000)
  3. 脆弱性体験
    • ブラウザで http://localhost:3000 にアクセスし、フォームから _payload と cmd を送信
    • または vulnerable-react-env/README.md の curl 例で RCE フローを再現

⚠️ 研究・教育目的以外の使用禁止。インターネットに公開しないでください。


💬 インタラクティブコマンド入力例

💬 入力するシステムコマンド: whoami
✅ 応答コード: 200
📄 応答内容: {"success":true,"result":"www-data"}

💬 入力するシステムコマンド: id
✅ 応答コード: 200
📄 応答内容: {"success":true,"result":"uid=1000(hacker) gid=1000(hacker)"}

💬 入力するシステムコマンド: exit
👋 終了します。


⚠️ セキュリティ注意事項

❌ 本番環境では絶対に使用しないでください。
✅ このスクリプトはローカルテスト環境または隔離された VM でのみ使用してください。
🛠️ --method moduleLoad 方式は /tmp/evil.js に実際のファイルを作成します。
🧾 --log オプションを使用する場合、出力結果が平文で保存されるため、ファイルアクセスを制限してください。
🔐 すべてのリクエストは、脆弱なサーバーで実際の JavaScript コードが実行されることを確認します。


📚 技術参考

  • 公式 CVE: CVE-2025-55182

  • Exploit 方式:

    1. child_process#execSync
    2. vm#runInThisContext
    3. fs#writeFileSync
    4. module#_load
  • 攻撃フロー:

    1. /formaction エンドポイントに特殊な multipart/form-data を送信
    2. サーバーで requireModule() を呼び出し
    3. プロトタイプチェーンまたはバウンドされた関数実行を介して RCE 発生

📄 ライセンスおよび使用条件

このプロジェクトはセキュリティ研究、監査、テストの目的でのみ提供されており、
実際のシステムへの無断使用は違法です。

本ツールの使用によって生じたすべての法的責任は利用者自身にあります。

ツールをダウンロード