
React/Next.jsアプリケーションのCVE-2025-55182用のマルチテクニック脆弱性検出器。ガジェットチェーン、RCEペイロード、WAFバイパスバリアントをテストし、脆弱なServer Actionsエンドポイントを特定します。
React/Next.js アプリケーションにおける CVE-2025-55182 のための、複数の検出手法を備えた総合脆弱性検出ツールです。
認可されたセキュリティテストおよび研究目的に限ります
このツールは以下の目的で設計されています:
権限のないコンピュータシステムへのアクセスは違法です。テスト前に必ず書面による許可を得てください。
この検出ツールは、複数の手法を用いて、ターゲットアプリケーションが CVE-2025-55182 に対して脆弱かどうかを総合的にテストします。
このツールは、無害な操作で Node.js のガジェットチェーンをテストします:
1+1) を評価echo test) を実行path) をロード/dev/null) を読み取りテスト操作:
echo test、1+1) を実行/dev/null) を読み取り以下の操作は行いません:
このツールは依存関係管理と実行に uv を使用します。
インストールは不要です!クローンして実行するだけです:
git clone <repository-url>
cd CVE-2025-55182/poc
uv run check http://target.com:3000
初回実行時に自動的に依存関係がインストールされます。
uv run check <target_url>
# デフォルト設定でターゲットをテスト(/formaction エンドポイントをテスト)
uv run check http://localhost:3002
# カスタムエンドポイントを指定
uv run check http://localhost:3002 --endpoint /api/formaction
# ファイルから複数のターゲットをテスト
uv run check --file targets.txt
# 脆弱なホストをファイルに保存
uv run check --file targets.txt -o vulnerable.txt
# 低速接続のためにタイムアウトを延長
uv run check http://localhost:3002 --timeout 15
# SSL 検証を無効にする(自己署名証明書の場合)
uv run check http://localhost:3002 --no-ssl-verify
# 静穏モード(最小限の出力)
uv run check http://localhost:3002 --quiet
usage: uv run check [-h] [-f FILE] [-e ENDPOINT] [-t TIMEOUT]
[--no-ssl-verify] [-q] [-o OUTPUT] [target]
positional arguments:
target ターゲット URL(例: http://target.com:3000)
optional arguments:
-h, --help ヘルプメッセージを表示して終了
-f, --file FILE ターゲット URL を含むファイル(1行に1つ)
-e, --endpoint API エンドポイントパス(デフォルト: /formaction)
-t, --timeout リクエストタイムアウト(秒)(デフォルト: 10)
--no-ssl-verify SSL 証明書検証を無効にする
-q, --quiet 静穏モード(最小限の出力)
-o, --output OUTPUT 脆弱なホストを書き出す出力ファイル
0 - ターゲットは脆弱ではない1 - ターゲットは脆弱である130 - ユーザーによる中断(Ctrl+C)# uv run check http://localhost:3002
======================================================================
CVE-2025-55182 脆弱性検出ツール - 拡張版
複数の検出手法 | 包括的なカバレッジ
======================================================================
[*] http://localhost:3002/formaction をテスト中
[*] すべての検出手法をテスト中...
→ ガジェット: fs#constructor: ✓ 脆弱
→ ガジェット: vm#runInThisContext: ✓ 脆弱
→ ガジェット: child_process#execSync: ✓ 脆弱
→ ガジェット: module#_load: ✓ 脆弱
→ ガジェット: fs#readFileSync: ✓ 脆弱
→ ガジェット: util#promisify: ✗ 脆弱ではない
→ 安全なサイドチャネル検出: ✗ 脆弱ではない
→ RCE PoC (Unix/Linux): ✗ 脆弱ではない
→ RCE PoC (Windows): ✗ 脆弱ではない
→ WAF バイパス付き RCE (Unix/Linux): ✗ 脆弱ではない
→ WAF バイパス付き RCE (Windows): ✗ 脆弱ではない
→ 高度な WAF バイパス (Unix/Linux): ✗ 脆弱ではない
======================================================================
検出結果
======================================================================
ターゲット: http://localhost:3002
エンドポイント: /formaction
テスト手法数: 複数
成功した手法: 5 手法が脆弱性を検出
ステータス: ⚠️ 脆弱
ターゲットは CVE-2025-55182 に対して脆弱である可能性があります。
脆弱性を検出した手法:
-> ガジェット: fs#constructor
-> ガジェット: vm#runInThisContext
-> ガジェット: child_process#execSync
-> ガジェット: module#_load
-> ガジェット: fs#readFileSync
推奨: 直ちにセキュリティパッチを適用してください。
======================================================================
# uv run check http://localhost:8000
======================================================================
CVE-2025-55182 脆弱性検出ツール - 拡張版
複数の検出手法 | 包括的なカバレッジ
======================================================================
[*] http://localhost:8000/formaction をテスト中
[*] すべての検出手法をテスト中...
→ ガジェット: fs#constructor: ✗ 脆弱ではない
→ ガジェット: vm#runInThisContext: ✗ 脆弱ではない
→ ガジェット: child_process#execSync: ✗ 脆弱ではない
→ ガジェット: module#_load: ✗ 脆弱ではない
→ ガジェット: fs#readFileSync: ✗ 脆弱ではない
→ ガジェット: util#promisify: ✗ 脆弱ではない
→ 安全なサイドチャネル検出: ✗ 脆弱ではない
→ RCE PoC (Unix/Linux): ✗ 脆弱ではない
→ RCE PoC (Windows): ✗ 脆弱ではない
→ WAF バイパス付き RCE (Unix/Linux): ✗ 脆弱ではない
→ WAF バイパス付き RCE (Windows): ✗ 脆弱ではない
→ 高度な WAF バイパス (Unix/Linux): ✗ 脆弱ではない
======================================================================
検出結果
======================================================================
ターゲット: http://localhost:8000
エンドポイント: /formaction
テスト手法数: 複数
ステータス: ✓ 脆弱ではない
ターゲットは CVE-2025-55182 に対して脆弱ではないようです。
すべての検出手法が脆弱性を確認できませんでした。
======================================================================
このスクリプトは複数のホストを一度にテストできます。
# ターゲットURLを含むファイルを作成(1行に1つ)
echo "http://localhost:3002" > targets.txt
echo "http://localhost:8000" >> targets.txt
# バッチスキャンを実行
uv run check --file targets.txt -o vulnerable.txt
出力:
======================================================================
CVE-2025-55182 脆弱性検出ツール - 拡張版
複数の検出手法 | 包括的なカバレッジ
======================================================================
[*] ファイルから 2 個のターゲットを読み込みました
[*] ターゲット 1/2 をテスト中
[*] http://localhost:3002/formaction をテスト中
[*] すべての検出手法をテスト中...
→ ガジェット: fs#constructor: ✓ 脆弱
→ ガジェット: vm#runInThisContext: ✓ 脆弱
[... その他の手法 ...]
======================================================================
検出結果
======================================================================
ターゲット: http://localhost:3002
エンドポイント: /formaction
テスト手法数: 複数
成功した手法: 5 手法が脆弱性を検出
ステータス: ⚠️ 脆弱
[... 詳細 ...]
======================================================================
[*] ターゲット 2/2 をテスト中
[*] http://localhost:8000/formaction をテスト中
[*] すべての検出手法をテスト中...
→ ガジェット: fs#constructor: ✗ 脆弱ではない
[... すべての手法が失敗 ...]
----------------------------------------------------------------------
ターゲット: http://localhost:8000
エンドポイント: /formaction
テスト手法数: 複数
ステータス: ✓ 脆弱ではない
----------------------------------------------------------------------
======================================================================
サマリー
======================================================================
テストしたターゲット数: 2
脆弱: 1
脆弱ではない: 1
======================================================================
[+] 1 個の脆弱なホストを vulnerable.txt に書き込みました
これらの手法は、特定の Node.js モジュールや関数が脆弱性を通じてアクセス可能かどうかをテストします。すべて安全で非破壊的な操作を使用します:
1+1 でテストecho test でプロセス実行をテストpath モジュールをロードしてモジュールロードをテスト/dev/null(安全なシステムファイル)を読み取ってファイル読み取りをテスト