
⚠️ 警告: このアプリケーションは教育およびセキュリティ研究目的でのみ意図的に脆弱性を持たせています。本番環境にデプロイしたり、インターネットに公開したりしないでください。
これはReact Server Componentsにおける重大なリモートコード実行(RCE)脆弱性である CVE-2025-55182 を実証する、脆弱性を持つNext.jsアプリケーションです。このアプリケーションは、セキュリティテストおよび教育目的で意図的に脆弱性を持たせつつ、プロフェッショナルなクラウドホスティングダッシュボードのように見えるよう設計されています。
CVE詳細:
curl_id.sh を同梱npm install --legacy-peer-deps
npm run dev
アプリケーションは http://localhost:3000 で利用できます。
このリポジトリには、CVE-2025-55182を悪用するための Nucleiテンプレート に基づくコマンドラインツール curl_id.sh が含まれています。
使用方法:
# Execute id command (default)
./curl_id.sh -d localhost:3000 -c id
# Execute custom commands
./curl_id.sh -d localhost:3000 -c "whoami"
./curl_id.sh -d localhost:3000 -c "uname -a"
./curl_id.sh -d localhost:3000 -c "ls -la /tmp"
# Test remote domains (if vulnerable)
./curl_id.sh -d vulnapp.com -c id
オプション:
-d, --domain: 対象ドメイン/URL (デフォルト: http://localhost:3000)-c, --command: 実行するコマンド (デフォルト: id)git clone https://github.com/assetnote/react2shell-scanner.git
cd react2shell-scanner
pip install -r requirements.txt
python3 scanner.py -u http://localhost:3000
python3 scanner.py -u http://localhost:3000 --safe-check
この脆弱性は、以下を伴う細工したmultipart POSTリクエストをサーバーに送信することで悪用できます:
Next-Action: x ヘッダーX-Nextjs-Request-Id ヘッダーX-Nextjs-Html-Request-Id ヘッダー正確なペイロード構造については react2shell-scanner リポジトリを参照してください。
この脆弱性はReact Server Componentsのデシリアライゼーションメカニズムに存在します。Next.jsがサーバーアクションを処理する際、リクエストペイロードをデシリアライズします。脆弱性のあるReactのバージョン(19.0.0-19.2.0)はデシリアライズされたデータを適切に検証・サニタイズしないため、攻撃者は以下を行うことができます:
process.mainModule.require('child_process').execSync() を介してサーバー上で任意のコードを実行X-Action-Redirect レスポンスヘッダーでコマンド出力を取得このエクスプロイトはJSONデシリアライゼーションプロセスにおけるプロトタイプ汚染攻撃を使用します。ペイロード構造には以下が含まれます:
then プロパティ_prefix フィールドを持つ _response オブジェクトexecSync() を介して実行され、出力をレスポンスヘッダーにリダイレクトしますこの脆弱性を修正するには:
npm install react@latest react-dom@latest
npm install next@latest
npm audit fix
vuln-app-CVE-2025-55182/
├── app/
│ ├── actions.ts # Vulnerable server action
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main dashboard page
├── node_modules/ # Dependencies
├── curl_id.sh # Exploit script for testing
├── package.json # Project dependencies (vulnerable versions)
├── tsconfig.json # TypeScript configuration
├── next.config.js # Next.js configuration
├── .gitignore # Git ignore rules
└── README.md # This file
このアプリケーションはセキュリティ研究および教育目的のみで作成されています。
作者および貢献者は、このコードの不正使用について一切の責任を負いません。コンピュータシステムへの不正アクセスは違法であり、刑事訴追の対象となる可能性があります。
これは教育用リポジトリです。ドキュメントの改善、より良い例の追加、教育価値の向上に貢献するコントリビューションを歓迎します。
このプロジェクトは教育目的で提供されています。自己責任で使用してください。
注意: これは脆弱性のあるアプリケーションです。セキュリティ研究と教育のため、管理された環境でのみ責任を持って使用してください。