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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
react-server-cve-lab — CVE-2025-55183 および CVE-2025-55184 に対する React Server Components におけるセキュリティ研究ラボ | Kitploit
ツール/GitHubGitHub/stealthmoud/react-server-cve-lab
脆弱性分析エクスプロイトウェブセキュリティペネトレーションテスト学習と教育ラボと実践
GitHubstealthmoud/react-server-cve-lab

react-server-cve-lab

CVE-2025-55183 および CVE-2025-55184 に対する React Server Components におけるセキュリティ研究ラボ

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

人気

すべて見る →

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

すべてのツールを探索

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

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

React Server Components セキュリティラボ (CVE-2025-55183 & CVE-2025-55184)

License: MIT React Version CVE-2025-55183 CVE-2025-55184

CVE-2025-55183(ソースコード露呈)および CVE-2025-55184(サービス拒否)の脆弱性を React Server Components 上でテストするための包括的なセキュリティテスト環境です。

⚠️ 免責事項

教育およびセキュリティ研究目的のみに使用してください

このリポジトリには、意図的に脆弱なアプリケーションと悪用ツールが含まれています。自分が所有しているシステム、または明示的な書面による許可を得たシステムでのみテストしてください。 許可のないテストは違法かつ非倫理的です。

📋 目次

  • 脆弱性について
  • クイックスタート
  • リポジトリ構成
  • 脆弱なアプリケーション
  • スキャナーの使い方
  • 詳細なドキュメント
  • 修正方法
  • ライセンス

🔍 脆弱性について

両脆弱性は、2025年12月11日に公開された React Server Components バージョン 19.0.0 から 19.2.2 に影響します。

CVE-2025-55183: ソースコード露呈(中程度の深刻度)

プロパティ値
深刻度中 (CVSS 5.3)
タイプ情報漏洩
影響サーバーソースコードの露呈
認証不要

攻撃者は、サーバー関数オブジェクトに対して .toString() を呼び出すことで、サーバーのみのソースコードを漏洩させるよう Server Action の引数を強制できます。これにより以下の情報が露呈します:

  • ビジネスロジックとアルゴリズム
  • ハードコードされた API キーやシークレット
  • 内部実装の詳細
  • データベースクエリとスキーマ情報

CVE-2025-55184: サービス拒否(高程度の深刻度)

プロパティ値
深刻度高 (CVSS 7.5)
タイプサービス拒否
影響完全なサービス停止
認証不要

特別に細工されたペイロードが無限の Promise 再帰を発生させ、Node.js サーバーを無期限にハングさせます。結果として以下が発生します:

  • 完全なサービス利用不可
  • CPU の枯渇
  • イベントループのブロック
  • 手動再起動が必要

比較

側面CVE-2025-55183CVE-2025-55184
深刻度中高
タイプ情報漏洩サービス拒否
影響ソースコード漏洩サーバークラッシュ
検出レスポンスにコードが含まれるサーバーのタイムアウト/ハング
復旧即時再起動が必要

⚠️ 重要: このデモにおける CVE-2025-55184(DoS)について

なぜ DoS がデモアプリをクラッシュさせない可能性があるのか

要約: アプリは脆弱です(React 19.0.0)が、最新の保護機能により、このデモ環境では実際のクラッシュが防止される可能性があります。

現実的な考慮点

CVE-2025-55184 は、本番環境で React 19.0.0~19.2.2 に影響する 現実の重大な脆弱性 です。ただし、ローカルデモで DoS クラッシュを実演することは、以下の理由から困難な場合があります。

1. Next.js の組み込み保護

  • Next.js 15.x には、多くのクラッシュをキャッチして回復するエラーバウンダリが含まれています
  • 自動エラー回復メカニズムにより無限再帰が防止されます
  • 本番モードでは、脆弱なコードパスとは異なるエラーハンドリングが行われます

2. Docker による分離

  • コンテナ化によりプロセス分離が追加されます
  • リソース制限により完全なシステムハングが防止されます
  • Docker の init システムがハングしたプロセスを検出し再起動できます

3. 開発環境と本番環境の違い

  • 正確な脆弱コードパスには特定の本番設定が必要です
  • 開発/デモ環境には追加の安全機構があります
  • コンテナ内では競合状態やタイミングが異なります

脆弱性が存在することを確認する方法

エクスプロイトがデモをクラッシュさせなくても、以下の方法で脆弱性を確認できます。

方法1: バージョンチェック(最も信頼性が高い)

cd vulnerable-app
npm list react react-dom

# 出力例:
[email protected]        ← 脆弱なバージョン
[email protected]    ← 脆弱なバージョン

19.0.0 から 19.2.2 が表示された場合、アプリケーションは脆弱です。

方法2: スキャナーによる検出

cd scanner
python scan.py http://localhost:3000

スキャナーは以下をチェックします:

  • ✅ React のバージョンが脆弱範囲内にあるか
  • ✅ Server Actions が有効か
  • ✅ 適切なサーバーレスポンスヘッダー
  • ✅ 悪用可能なエンドポイントパターン

🚀 クイックスタート

前提条件

  • Docker & Docker Compose
  • Python 3.7+
  • Git

1. リポジトリのクローン

git clone https://github.com/StealthMoud/react-server-cve-lab.git
cd react-server-cve-lab

2. 脆弱なアプリケーションの起動

# アプリを起動(両方のCVEに対して脆弱)
docker-compose up --build -d

# アプリは http://localhost:3000 で利用可能

3. スキャナーの実行

cd scanner

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

# 両方の脆弱性をスキャン
python scan.py http://localhost:3000

# CVE-2025-55183 のみスキャン
python scan.py --cve 55183 http://localhost:3000

# CVE-2025-55184 のみスキャン
python scan.py --cve 55184 http://localhost:3000

# 複数のターゲットをスキャン
python scan.py --file targets.txt

📁 リポジトリ構成

react-server-cve-lab/
├── README.md                          # このファイル
├── DOCUMENTATION.md                   # 完全な技術ドキュメント
├── LICENSE
├── .gitignore
├── docker-compose.yml
│
├── vulnerable-app/                    # 両方のCVEに対して脆弱
│   ├── Dockerfile
│   ├── package.json
│   ├── next.config.js
│   └── app/
│       ├── layout.js
│       ├── page.js
│       └── actions.js                 # 脆弱なサーバーアクション
│
├── scanner/
│   ├── requirements.txt
│   ├── scan.py                        # 両方のCVE用スキャナー
│   └── README.md
│
└── exploits/
    ├── exploit-55183.py               # CVE-2025-55183 のPoC
    ├── exploit-55184.py               # CVE-2025-55184 のPoC
    └── README.md

🎯 脆弱なアプリケーション

このアプリケーションは、Server Actions を備えた React 19.0.0 を実行する Next.js アプリで、両方のCVE に対して脆弱です。

機能

  • Server Actions: 両脆弱性を示す複数のエンドポイント
  • 現実的なコード: シークレットを含む実際のパターンを模倣
  • 簡単なテスト: 手動テストのためのシンプルなUI
  • Dockerベース: 分離された再現可能な環境

アプリの起動

# Docker Compose を使用(推奨)
docker-compose up --build -d

# 実行確認
curl http://localhost:3000

# ログの表示
docker-compose logs -f

# アプリの停止
docker-compose down

手動セットアップ(Docker不使用)

cd vulnerable-app
npm install
npm run build
npm start

🔎 スキャナーの使い方

統合スキャナーは CVE-2025-55183 と CVE-2025-55184 の両方を検出します。

基本的な使い方

cd scanner

# 両方のCVEをスキャン
python scan.py http://localhost:3000

# 特定のCVEのみスキャン
python scan.py --cve 55183 http://localhost:3000
python scan.py --cve 55184 http://localhost:3000

高度なオプション

# 詳細出力
python scan.py --verbose http://localhost:3000

# カスタムタイムアウト
python scan.py --timeout 10 http://example.com

# ファイルから複数のURLをスキャン
python scan.py --file targets.txt

# 結果をJSONに保存
python scan.py --output results.json http://localhost:3000

# SSL検証を無効化
python scan.py --no-verify https://self-signed.example.com

# すべてのCVEを詳細出力付きでスキャンし結果を保存
python scan.py --verbose --output scan-results.json http://localhost:3000

出力例

╔═══════════════════════════════════════════════════════════╗
║     React Server Components 脆弱性スキャナー              ║
║         CVE-2025-55183 & CVE-2025-55184                  ║
╚═══════════════════════════════════════════════════════════╝

[*] http://localhost:3000 をテスト中

[CVE-2025-55183] ソースコード露呈
[!] 脆弱: ソースコードが漏洩しました
    露呈した関数: 3
    コード長: 1247 文字
    シークレットを含む: ✓(APIキーが見つかりました)

[CVE-2025-55184] サービス拒否
[!] 脆弱: DoS攻撃成功
    ステータスコード: 404
    Content-Type: text/plain
    マーカー発見: ✓

============================================================
サマリー
============================================================
テスト済み: 1
CVE-2025-55183 脆弱: 1
CVE-2025-55184 脆弱: 1
両CVE脆弱: 1
脆弱でない: 0

📚 詳細なドキュメント

両脆弱性の包括的な技術分析については、以下を参照してください。

DOCUMENTATION.md - 完全な技術ドキュメント。以下を含みます:

  • 両CVEの詳細な脆弱性分析
  • 根本原因の説明
  • 例を含む悪用テクニック
  • 影響評価
  • 検出戦略
  • ステップバイステップの修正手順
  • 防止のベストプラクティス
  • コードサンプルとPoC

🛡️ 修正方法

必要な即時対応

両脆弱性は同じパッチバージョンで修正されています。

  1. React をパッチ適用済みバージョンに更新:

    npm install [email protected] [email protected]
    # または
    npm install react@latest react-dom@latest
    
  2. Next.js を更新(該当する場合):

    npm install next@latest
    
  3. 修正を確認:

    npm list react react-dom next
    python scanner/scan.py http://localhost:3000
    

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

パッケージ脆弱なバージョン修正済みバージョン
React19.0.0 - 19.2.219.0.3+, 19.1.4+, 19.2.3+
Next.js 15.1.x< 15.1.415.1.4+
Next.js 15.0.x< 15.0.415.0.4+
Next.js 14.x< 14.2.2414.2.24+

パッチ適用後の確認

# スキャナーを実行して修正を確認
cd scanner
python scan.py http://your-patched-app.com

# 期待される出力:
# [+] CVE-2025-55183: 脆弱ではない
# [+] CVE-2025-55184: 脆弱ではない

🔒 セキュリティのベストプラクティス

CVE-2025-55183(ソースコード露呈)の防止

  1. 入力検証: Server Action の入力を常に検証する
  2. コードにシークレットを保存しない: 環境変数を使用する
  3. コード難読化: 機密ロジックにはビルド時の難読化を検討する
  4. 定期的な監査: Server Actions に機密データがないか確認する

CVE-2025-55184(DoS)の防止

  1. レート制限: リクエストレート制限を実装する
  2. タイムアウト: すべての非同期処理に適切なタイムアウトを設定する
  3. ヘルスチェック: 堅牢なヘルスモニタリングを実装する
  4. サーキットブレーカー: 連鎖的な障害を防止する

一般的な推奨事項

  • React と Next.js を最新に保つ
  • セキュリティアドバイザリに登録する
  • Webアプリケーションファイアウォール(WAF)を導入する
  • CI/CD に定期的なセキュリティスキャンを含める
  • 情報漏洩とDoSの両方に対するインシデント対応計画を策定する
ツールをダウンロード