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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-55182-scanner — CVE-2025-55182(React Server Components RCE)用の非侵入型表面スキャナです。React 19およびNext.jsアプリケーション内の露出したRSCエンドポイントを検出します。 | Kitploit
ツール/GitHubGitHub/fatguru/cve-2025-55182-scanner
脆弱性スキャナーエクスプロイトウェブアプリケーション悪用WAFバイパスウェブセキュリティペネトレーションテストレッドチーミング
GitHubfatguru/cve-2025-55182-scanner

CVE-2025-55182-scanner

CVE-2025-55182(React Server Components RCE)用の非侵入型表面スキャナです。React 19およびNext.jsアプリケーション内の露出したRSCエンドポイントを検出します。

リポジトリを見る
1121739ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

React Server Components サーフェス露出スキャナー

(CVE-2025-55182)

CVE-2025-55182 (React Server Components RCE) 向けの、特殊化された非侵入型サーフェス検出器。


⚠️ 重要な技術的コンテキスト

スキャン前にこれを読んでください:

CVE-2025-55182 は重大な RCE 脆弱性 (CVSS 10.0) ですが、Next.js 本番環境における現実世界での悪用は条件付きです。

  1. ホワイトリストの壁: Next.js は serverManifest を使用して許可モジュールをホワイトリスト登録します。RSC 経由で危険なモジュール (例: child_process) を直接読み込もうとすると、このマニフェストに含まれていないため失敗することがよくあります。
  2. 攻撃チェーン: 堅牢なターゲットで RCE を達成するには、攻撃者は多くの場合、この脆弱性と プロトタイプ汚染 プリミティブを連鎖させ、メモリ内の serverManifest を上書きしてホワイトリストを回避する必要があります。
  3. Webpack のミニフィケーション: 本番ビルドでは、モジュール ID はミニファイされます (例: "vm" ではなく 742)。名前を推測する硬直的なエクスプロイトは失敗します (偽陰性)。

このツールはサーフェス検出器です。 RSC プロトコルが露出され、アクティブであるかどうかを識別します。露出したエンドポイントを見つけることは、プロトタイプ汚染チェーンが試行される可能性のある攻撃サーフェスを特定するための前提条件です。


🛡️ なぜこのサーフェス検出器を使うのか?

  • 多くの公開 PoC やスキャナーは、本番環境で以下の4つの一般的な落とし穴に陥るため、偽陰性をもたらします:

  • エクスプロイトの硬直性: vm や child_process のような特定のガジェットを実行しようとしますが、ホワイトリストでブロックされるか、ハードコードされた ID (例: "id":"vm") に依存しているため、ミニファイされた Webpack ビルドでは失敗します。

  • ルートリダイレクト: Next.js で POST / を叩くと、多くの場合 307/308 リダイレクト (例: /login へ) が発生し、サーバーが処理する前に POST ボディが失われたり、GET に変換されたりします。

  • トランスポートの不一致: 多くのスキャナーはペイロードを text/plain または生の JSON として送信します。厳格な Next.js Server Actions は、多くの場合 multipart/form-data のカプセル化を必要とします。形式が間違っていると、脆弱なパーサーがトリガーされることなく、サーバーは 404/200 を返します。

  • WAF の盲目性: 標準的なツールは 403 Forbidden を見て諦めます。グローバルな IP ブロックと特定のルールフィルターを区別できず、エンコーディングやパディング技術を使用した WAF バイパスの機会を逃します。

このスキャナーは上記3つの課題をすべて解決します:

✅ スマートパスプロービング: ランダムな存在しないパス (例: /x7z9q2) を自動的にプローブし、ルートリダイレクト (307/308) を回避して、Next.js App Router にリクエストコンテキストを強制的に処理させます。

✅ 厳格なトランスポート (Multipart): プレーンテキストではなく multipart/form-data カプセル化を使用します。これにより、厳格な Server Action エンドポイントで 404 を返す偽陰性を解決します。

✅ WAF 差分分析: グローバルブロック ([BLOCKED]) と特定のルールフィルタリング ([FILTERED]) を区別します。バックエンドがプロトコルを許可するがペイロードをブロックする場合、スキャナーはそれを高価値ターゲットとして識別します。

✅ 自動バイパスモード: [FILTERED] ターゲットに対して、回避テクニック (Unicode エスケープ、空白の変形、ジャンクパディング) を自動的に試行するオプションの --bypass エンジンを含みます。

✅ 強化された検出: X-Powered-By ヘッダーを削除するエンタープライズサーバーでの「サイレントクラッシュ」([SUSPICIOUS]) をキャッチし、Assetnote 303 See Other リダイレクトフィンガープリントを特定します。

✅ アクティブなフィンガープリンティング: 専用のペイロード (["$1:aa:aa"]) を使用して、React 19 独自の RSC "Digest" エラーをトリガーし、完全な RCE がなくてもパーサーがアクティブであることを確認します。


🚀 インストール

  1. リポジトリをクローン:

    root@kitploit:~
    git clone https://github.com/fatguru/CVE-2025-55182-scanner.git
    cd CVE-2025-55182-scanner
    
  2. 依存関係をインストール (仮想環境を推奨):

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

💻 使い方

基本スキャン

単一のURLをチェックします。Next.js App Router のエンドポイントはパス固有であるため、ルートドメインだけでなく、正しいアプリケーションパス (例: /dashboard、/login) を指定してください。

root@kitploit:~
python3 cve_2025_55182_scanner.py -u http://localhost:3000/dashboard

一括スキャン

ファイルから URL のリストをスキャンします (1行に1URL)。特定のパスを見逃さないための推奨戦略です。

root@kitploit:~
python3 cve_2025_55182_scanner.py -l targets.txt -o results.csv

非セキュアモード (新機能)

SSL/TLS 証明書エラーを無視します (IP ベースのスキャン、ローカルラボ、自己署名証明書に便利)。

root@kitploit:~
python3 cve_2025_55182_scanner.py -u [https://192.168.1.50](https://192.168.1.50) -k

カスタムヘッダーを使用したスキャン (WAF バイパス / 認証)

v2.1 の新機能: --header フラグを使用して、認証や特定のヘッダーを必要とする WAF の背後にあるアプリケーションにセッション Cookie やトークンを渡します。

root@kitploit:~
python3 cve_2025_55182_scanner.py -u https://target.com --header "Cookie: session=123" --header "Authorization: Bearer xyz"

オプション

フラグ説明
-u, --url単一のターゲット URL (例: http://target.com/dashboard)。
-l, --listスキャンする URL のリストを含むファイル (1行に1URL)。
--bypass(v2.5 新機能) WAF 回避モードを有効にします。ターゲットが [FILTERED] として検出された場合、変異テクニック (Unicode、パディング、空白) を自動的に試行します。
--headerカスタムヘッダーを追加します (例: Cookie: session=xyz、Authorization: Bearer...)。複数回使用できます。
-o, --output結果をテキストファイルに保存します。
-k, --insecureTLS 証明書の検証を無効にします (SSL 警告を抑制)。
-t, --threads一括スキャン時の同時スレッド数 (デフォルト: 10)。
--timeoutリクエストのタイムアウト秒数 (デフォルト: 10秒、マルチパートペイロードに対応するため)。
--verboseデバッグモードを有効にします。詳細なプロービング手順、WAF ブロックステータス、バイパス試行を表示します。

📊 結果の解釈 (v2.5)

[EXPOSED] | 🔴 (赤) | 脆弱

サーバーがペイロードを処理し、React 19 のダイジェストエラーまたはアクションリダイレクト (303) を返しました。露出したサーフェスの信頼性が高い。

[BYPASSED] | 🟠 (オレンジ) | WAF 回避済み

成功! スキャナーは最初にフィルターを検出しましたが、変異テクニック (例: パディング/Unicode) を使用して正常に回避し、脆弱性をトリガーしました。

[SUSPICIOUS] | 🟡 (黄) | 警告

サーバーがペイロード解析中にクラッシュしました (500)。X-Powered-By ヘッダーを削除する堅牢なターゲットでも、シリアライゼーションロジックが露出していることを示します。

[FILTERED] | 🔵 (青) | WAF ルール検出

サーバーは RSC トラフィックを受け入れます (良性ペイロードが通過) が、特定の WAF ルールがエクスプロイトペイロードをブロックしました。ターゲットは WAF の背後で生存しています。回避を試みるには --bypass を使用してください。

[INFO] | 🔵 (シアン) | プロトコル検出

サーバーは RSC (text/x-component) を話しますが、ペイロードを正常に処理しました。パッチが適用されているか、標準的な動作の可能性が高い。

[BLOCKED] | 🟣 (マゼンタ) | グローバル WAF ブロック

良性ハンドシェイクを含め、すべてがブロックされました (403/406)。WAF がプロトコル全体またはあなたの IP をブロックしています。

[SAFE] | 🟢 (緑) | クリーン

サーバーは 404/200 を返しましたが、プローブされたすべてのパスで RSC ヘッダー/マルチパートボディを無視しました。

🛠️ Nuclei テンプレート (https://github.com/projectdiscovery/nuclei)

このリポジトリには、この検出ロジックに基づく Nuclei テンプレート (cve-2025-55182-detection.yaml) が含まれています。

root@kitploit:~
nuclei -t cve-2025-55182-detection.yaml -l targets.txt

v2.5 変更履歴 (メジャーアップデート)

  • WAF バイパスモード: 新しい --bypass フラグにより、ターゲットが [FILTERED] として検出された場合に、回避テクニック (空白、Unicode、大きなパディング) を自動化します。
  • マルチパートサポート: テキストペイロードに 404 を返すターゲットでの偽陰性を修正するため、ペイロードトランスポートを multipart/form-data に切り替えました。
  • スマート分析:
    • [FILTERED]: WAF がエクスプロイトペイロードを特にブロックするが、RSC トラフィックは許可する場合を識別します (高価値ターゲット)。
    • [SUSPICIOUS]: X-Powered-By ヘッダーを隠す堅牢なサーバーでのクラッシュをキャッチするようになりました。
    • [EXPOSED]: 一部の脆弱な実装で使用される 303 See Other リダイレクトの検出を追加しました。

v2.2 変更履歴 (クリティカルアップデート)

  • 偽陰性修正 (マルチパート): ペイロードトランスポートを text/plain から multipart/form-data に変更しました。これにより、Server Actions でフォームデータを厳格に強制し、以前は 404 を返していたターゲットでの偽陰性が解決されます。
  • リダイレクト検出: HTTP 303 See Other および x-action-redirect ヘッダーをキャッチするようにロジックを更新しました。これらは、スキャナーが自動的にリダイレクトに従うと隠れてしまう RSC 処理の強力な指標です。

v2.1 アップデート

  • 偽陽性修正: ロジックを更新し、「Info」(RSC プロトコル検出、パッチ適用済みの可能性) を「Suspicious」(サーバークラッシュ/500) から分離し、React 19.x パッチ適用バージョンでの問題を解決しました。
  • WAF 検出: スキャナーが WAF が攻撃シグネチャをインターセプトした場合に [BLOCKED] ステータス (HTTP 403/406) を明示的に識別して報告するようになりました。
  • ヘッダー戦略: カスタムトラフィック識別、Authorization、または WAF 許可リスト登録のためのオプションの --header 引数を追加しました。
  • UX 改善: ASCII バナーを修正し、SSL 警告抑制 (-k) と堅牢な色処理を追加しました。

⚖️ 免責事項

このツールは、セキュリティ研究者や管理者が自身のシステムにおける露出した攻撃サーフェスを特定できるようにすることを目的としています。作者はこのツールの誤用について一切の責任を負いません。明示的なテスト許可がないシステムに対して使用しないでください。

参照:

root@kitploit:~
- https://nvd.nist.gov/vuln/detail/CVE-2025-55182
- https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182
ツールをダウンロード