
React Server Actions エクスプロイトベクターの検出 – CVE-2025-55182 / CVE-2025-66478
CVE-2025-55182 / CVE-2025-66478 の検出 – React Server Components / Next.js
このリポジトリには、React2Shell として知られる重大な脆弱性を安全に検出するために設計された、Lua で書かれた Nmap Scripting Engine (NSE) スクリプトが含まれています。この脆弱性は、React Server Components (RSC) および React Server Actions (RSA) の実装(多くの Next.js デプロイを含む)に影響します。
検出方法は、不正な React Flight ペイロードを処理する際のサーバーサイドのエラー動作に基づく、非侵襲的なサイドチャネル技術を使用しています。 悪用、コード実行、および安全でない操作は一切実行されません。
React2Shell (CVE-2025-55182 / CVE-2025-66478) は、React Server Components パイプラインにおける重大な設計上の欠陥であり、以下を可能にする可能性があります:
内部コンポーネント参照への不正アクセス
任意のプロパティへのアクセス
特定のフレームワークでの潜在的なリモートコード実行 (RCE)
サーバーサイドのデータ漏えいと実行フローの操作
この脆弱性は、React が以下のような細工された React Flight 参照を解決しようとしたときにトリガーされます:
["$1:aa:aa"]
脆弱なサーバーでは、これにより特徴的なパターンを含む 500 エラーが生成されます:
E{"digest":"..."}
このスクリプトは、有害な操作を試みることなく、そのパターンを検出します。
✔ 安全で受動的な検出(悪用なし、RCE 試行なし)
✔ 高忠実度の React Flight クラッシュシグネチャを検出
✔ HTTP および HTTPS に対応
✔ ユーザーがパスとタイムアウトを設定可能
✔ Vercel/Netlify の緩和策による誤検知を自動的に回避
✔ 自動化パイプラインおよび SIEM 取り込みと互換性のある出力
✔ 軽量で、レッドチーム、バグバウンティ、インシデントレスポンス、CI/CD スキャンに適しています
git clone https://github.com/MoisesTapia/http-react2shell.git
cd http-react2shell
ファイルを Nmap のスクリプトディレクトリに配置してください:
sudo cp http-react2shell.nse /usr/share/nmap/scripts/
スクリプトインデックスを更新してください:
sudo nmap --script-updatedb
nmap -p80 --script http-react2shell <host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/api/action'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/,react2shell.timeout=20000'
<host>
nmap -iL targets.txt -p80,443 \
--script http-react2shell
nmap -sV -p80,443 \
--script "http-react2shell,http-headers,http-server-header,http-security-headers" \
<host>
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| No characteristic crash pattern observed.
| This suggests the tested endpoint is not vulnerable or is patched,
|_ but this is not a guarantee (other RSC/Server Actions paths may exist).
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| VULNERABLE: possible React2Shell (CVE-2025-55182 / CVE-2025-66478)
| Evidence: HTTP 500 + digest-like pattern found in response
|_ Notes: high-fidelity side-channel; verify manually and patch immediately.
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
|_ ERROR: HTTP request failed (connection reset by peer)
https://github.com/lachlan2k/React2Shell-CVE-2025-55182-original-poc
https://github.com/sammwyy/R2SAE
React Flight 内部に関する技術分析記事や研究論文
このプロジェクトは、教育、研究、および防御目的のセキュリティにのみ提供されます。 自分が所有していないシステムや、テストする明示的な許可がないシステムをスキャンしないでください。 メンテナーは、誤用またはその結果生じたいかなる損害についても責任を負いません。
プルリクエスト、改善、追加の検出ヒューリスティックを歓迎します。 以下のような貢献が可能です:
マルチパススキャンのサポート
WAF 回避モード
追加のフィンガープリント
Nmap 組み込みの vulns フレームワークとの統合
このツールがレッドチーム、バグバウンティ、または防御的セキュリティに役立つ場合は、 GitHub でリポジトリにスター ⭐ を付けることを検討してください!