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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-29057-POC — Лаборатория на базе Docker, воспроизводящая контрабандную передачу запросов CVE-2026-29057 в Next.js, сравнивающая уязвимую версию 15.5.12 с исправленной 15.5.13 с использованием необработанной полезной нагрузки HTTP с chunked-кодированием. | Kitploit
Инструменты/GitHubGitHub/learnerxuan/cve-2026-29057-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеЛаборатории и Практика
GitHub
learnerxuan/cve-2026-29057-poc

CVE-2026-29057-POC

Лаборатория на базе Docker, воспроизводящая контрабандную передачу запросов CVE-2026-29057 в Next.js, сравнивающая уязвимую версию 15.5.12 с исправленной 15.5.13 с использованием необработанной полезной нагрузки HTTP с chunked-кодированием.

Репозиторий
8 ч 17 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-29057 — лаборатория по контрабанде запросов в Next.js

Этот репозиторий представляет собой специализированную лабораторию для презентации CVE-2026-29057. В ней сравнивается уязвимая цель Next.js (15.5.12) с исправленным релизом (15.5.13) при одинаковой топологии и одном и том же сыром HTTP-полезной нагрузке.

Используйте её только в изолированной лаборатории. Пробы на десинхронизацию запросов могут нарушить работу общих соединений в реальных средах.

Атрибуция

Этот репозиторий адаптирован из оригинального репозитория Nayaka Ghana Subrata с Proof of Concept для Next.js. Полная заслуга принадлежит оригинальному автору за основополагающую работу над proof-of-concept.

Я реорганизовал и изменил эту работу, чтобы сосредоточиться именно на CVE-2026-29057, включая материалы презентации, управляемую демонстрацию, лабораторный сценарий, пояснительные комментарии и сравнение уязвимой и исправленной версий. Этот репозиторий является образовательной адаптацией и не должен восприниматься как репозиторий оригинального автора.

Презентация

  • Слайды презентации CVE-2026-29057
  • Сценарий презентации
  • Регламент демонстрации
  • Вопросы и ответы для докладчика
  • Что доказывает лаборатория

    1. Клиент отправляет один chunked-запрос DELETE /api/workspace/tasks/1042.
    2. Его тело содержит байты, образующие второй запрос: GET /secret.
    3. Уязвимый прокси удаляет Transfer-Encoding и добавляет Content-Length: 0, при этом байты тела всё ещё пересылаются.
    4. Нижестоящий посредник разбирает оставшиеся байты как второй запрос и пересылает оба разобранных запроса на конечный бэкенд.
    ЦельNext.jsЗапросы к бэкенду
    Уязвимая15.5.12DELETE /api/workspace/tasks/1042, затем GET /secret
    Исправленная15.5.13только DELETE /api/workspace/tasks/1042

    Структура репозитория

    root@kitploit:~
    .
    ├── docker-compose.yml
    ├── DEMO-RUNBOOK.md
    ├── PRESENTATION-SCRIPT.md
    ├── PRESENTATION-QA.md
    ├── pocs/cve-2026-29057/
    │   ├── app/
    │   ├── support/server.js
    │   ├── next.config.js
    │   └── Dockerfile
    └── scripts/run-cve-2026-29057.mjs
    

    Запуск лаборатории

    Требования: Docker Compose и Node.js 18 или новее.

    root@kitploit:~
    docker compose up --build cve-2026-29057-vuln cve-2026-29057-fixed
    
    • Уязвимая: http://localhost:3105
    • Исправленная: http://localhost:3106

    Запуск дифференциальной демонстрации

    root@kitploit:~
    node scripts/run-cve-2026-29057.mjs http://localhost:3105
    node scripts/run-cve-2026-29057.mjs http://localhost:3106
    

    Ожидаемое свидетельство уязвимости:

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042","GET /secret"],"flag":"FLAG{one_stream_two_requests}"}
    PoC result: vulnerable behavior reproduced.
    Flag: FLAG{one_stream_two_requests}
    

    Ожидаемое свидетельство исправления:

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042"],"flag":null}
    PoC result: smuggled request was not observed. This usually means the target is patched.
    

    Значимое свидетельство является дифференциальным: топология и полезная нагрузка остаются неизменными; различается только версия Next.js.

    История обнаружения методом чёрного ящика

    Лаборатория не требует, чтобы докладчик делал вид, будто атакующий волшебным образом знает оба пути:

    1. На странице Launch brief явно помечен как Task #1042. Нажмите Delete task, просматривая трафик через Burp. История прокси показывает легитимный запрос DELETE /api/workspace/tasks/1042, поэтому путь-носитель берётся непосредственно из обычного трафика приложения.
    2. Запросите /robots.txt. Он указывает на случайно развёрнутый артефакт /ops/release-manifest.
    3. Запросите этот манифест. Он определяет /api/workspace/ как публичный префикс сервиса, раскрывает /secret как внутренний маршрут и называет /api/state как журнал запросов. Сам флаг он не раскрывает.

    Манифест представляет собой намеренную слабость раскрытия информации для сюжета лаборатории. Он отделён от CVE-2026-29057; CVE обеспечивает обход фрейминга запросов, который достигает раскрытого маршрута бэкенда.

    Имена маршрутов — это лабораторные фикстуры, а не пути, восстановленные из реальной жертвы. Официальный патч Vercel добавил регрессионный тест, который определяет /rewrites/:path*, использует /rewrites/poc в качестве носителя и создаёт /secret на тестовом бэкенде. Эта лаборатория даёт носителю имя в форме продукта, сохраняя ту же структуру теста.

    Порядок разбора кода

    1. docker-compose.yml — уязвимая и исправленная версии.
    2. pocs/cve-2026-29057/next.config.js — граница внешнего rewrite.
    3. pocs/cve-2026-29057/support/server.js — парсеры посредника и бэкенда.
    4. scripts/run-cve-2026-29057.mjs — сырая chunked-полезная нагрузка и проверка результата.
    5. pocs/cve-2026-29057/app/api/ — эндпоинты сброса и чтения свидетельств.

    Остановка лаборатории

    root@kitploit:~
    docker compose down
    

    Источники

    • GitHub Security Advisory GHSA-ggv3-7p47-pfv8
    • Коммит с патчем Next.js
    • Запись NVD
    Скачать инструмент