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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
react-cve-2025-55182 — Next.js Server Actions内のCVE-2025-55182脆弱性をテストおよび分析 | Kitploit
ツール/GitHubGitHub/niokagi/react-cve-2025-55182
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発ラボと実践
GitHubniokagi/react-cve-2025-55182

react-cve-2025-55182

Next.js Server Actions内のCVE-2025-55182脆弱性をテストおよび分析

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-55182: React/Next.js テスト

プロジェクトステータス: 実験的 / 概念実証

このリポジトリは、CVE-2025-55182 を分析するための管理された研究環境および概念実証 (PoC) フレームワークとして機能します。Next.js Server Actions のコンテキストにおける プロトタイプ汚染 の脆弱性を実証しており、特に安全でない再帰的なマージ操作を標的としています。

概要

中核となる脆弱性は、Next.js Server Action (syncConfiguration) 内に実装されたカスタムの deepMerge ユーティリティ関数に存在します。この関数は、特別なオブジェクトキー(具体的には __proto__ と constructor)に対する適切なサニタイゼーションを欠いています。この見落としにより、認証されていない攻撃者が任意のプロパティをグローバルな Object.prototype に注入できるようになります。

サーバーサイドの Node.js ランタイムにおいて、プロトタイプ汚染が成功すると、以下の結果を招く可能性があります:

  • リモート状態操作: アプリケーションロジック、認証フラグ(例: isAdmin)、または構成設定をグローバルに変更する。
  • サービス拒否 (DoS): toString や valueOf などの重要な内部メソッドを上書きしてアプリケーションを不安定にする。
  • 潜在的なリモートコード実行 (RCE): このラボは主に状態操作を実証していますが、プロトタイプ汚染は他のガジェット(例: child_process やテンプレートエンジン内)と連鎖させて任意のコード実行を達成できることがよくあります。

リポジトリ構造

  • lab/next-app/: セキュリティ上の欠陥をシミュレートするために設計された脆弱な Next.js 15 アプリケーション。
    • src/app/actions.jsx: 脆弱な deepMerge 実装を含むサーバーサイドコード。
  • exploits/: テストと悪用のための Python 自動化スクリプト。
    • rce.py: 悪意のある JSON ペイロードの注入を自動化し、サーバーの状態汚染を実証するスクリプト。
    • get-shell.py: RSC Flight Protocol のデシリアライゼーションベクトルを探る高度な PoC。
  • docs/PAYLOADS.md: 手動テストと分析のためのさまざまな JSON ペイロードを含むリファレンスドキュメント。

使用手順

1. 環境セットアップ

ラボは Docker(推奨)またはローカルで実行できます。

オプション A: Docker (推奨)

Docker と Docker Compose がインストールされていることを確認してください。

docker-compose up --build

アプリケーションは http://localhost:3000 でアクセスできます。

オプション B: ローカルセットアップ

Node.js 20+ が必要です。

cd lab/next-app
npm install
npm run dev

アプリケーションは http://localhost:3000 でアクセスできます。

2. 手動検証

  1. http://localhost:3000 に移動します。
  2. docs/PAYLOADS.md からペイロードを選択します(例: Basic Payload)。
  3. ペイロードを「Config_Payload_Input」フィールドに入力し、「Commit_Changes」で送信します。
  4. 「RUNTIME_POLLUTION_DETECTED」アラートが表示されることを確認し、悪用が成功したことを確認します。

3. 自動化された悪用

提供されている Python スクリプトを使用すると、脆弱性をプログラムで検証できます。

前提条件: ブラウザのネットワークタブ(POST リクエストヘッダー Next-Action を探す)またはサーバーのターミナル出力から Next-Action ID を取得します。

Docker を使用する場合 (推奨)

  1. 攻撃者コンテナに入る:
    docker exec -it exploit-runner bash
    
  2. Action ID をエクスポートしてエクスプロイトを実行:
    export ACTION_ID="your_action_id_here"
    python3 rce.py "id"
    

ローカル Python を使用する場合

  1. 依存関係をインストール:
    pip install -r exploits/requirements.txt
    
  2. エクスプロイトを実行(ACTION_ID を環境変数として設定するか、スクリプトを編集):
    export ACTION_ID="your_action_id_here"
    python3 exploits/rce.py "id"
    

注: rce.py スクリプトは、状態汚染の成功を実証するように構成されています。完全なシェル実行は、特定の環境ガジェットに依存し、異なる場合があります。

免責事項

このプロジェクトは、教育目的およびセキュリティ研究のみを目的としています。

明示的な書面による許可がないシステムで、ここで提供されているコードや技術を使用しないでください。作成者は、この資料によって引き起こされた誤用や損害について責任を負いません。

ツールをダウンロード