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

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

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

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

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

Категории

Все категории
Loading categories
cve-2025-29927 — Эксплойт Proof-of-concept для CVE-2025-29927, уязвимости обхода промежуточного программного обеспечения Next.js. Включает полезные нагрузки для конкретных версий и лабораторную среду на базе Docker для тестирования несанкционированного доступа к защищенным маршрутам. | Kitploit
Инструменты/GitHubGitHub/jeymo092/cve-2025-29927
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubjeymo092/cve-2025-29927

cve-2025-29927

Эксплойт Proof-of-concept для CVE-2025-29927, уязвимости обхода промежуточного программного обеспечения Next.js. Включает полезные нагрузки для конкретных версий и лабораторную среду на базе Docker для тестирования несанкционированного доступа к защищенным маршрутам.

Репозиторий
11 год назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-29927

Image

Уязвимость CVE-2025-29927

Все версии Next.js с 11.1.4 по 13.5.6, 14.x до 14.2.25 и 15.x до 15.2.3 подвержены этой уязвимости. Особенно значительное влияние она оказывает на приложения, использующие middleware для реализации контроля доступа, поскольку злоумышленники могут получить несанкционированный доступ к защищённым ресурсам без аутентификации.

Механизм уязвимости

Уязвимость CVE-2025-29927 связана с конструктивным недостатком в том, как Next.js обрабатывает заголовок x-middleware-subrequest. Этот заголовок изначально был предназначен для внутреннего использования в рамках фреймворка Next.js, чтобы предотвратить бесконечные циклы выполнения middleware.

Когда приложение Next.js использует middleware, вызывается функция runMiddleware для обработки входящих запросов. В рамках своей функциональности эта функция проверяет наличие заголовка x-middleware-subrequest. Если этот заголовок существует и содержит определённое значение, выполнение middleware полностью пропускается, а запрос напрямую перенаправляется к исходному назначению через NextResponse.next().

Уязвимость заключается в том, что эту проверку заголовка могут использовать внешние пользователи. Добавив заголовок x-middleware-subrequest с правильным значением в запрос, злоумышленник может полностью обойти любые механизмы защиты, основанные на middleware.

Инструкция по настройке проекта

  1. Клонируйте репозиторий:

    root@kitploit:~
    git clone <repository_url>
    
  2. Перейдите в директорию проекта:

    root@kitploit:~
    cd nextjs-docker-app
    
  3. Соберите Docker-образ:

    root@kitploit:~
    docker build -t nextjs-app .
    
  4. Запустите Docker-контейнер:

    root@kitploit:~
    docker run -p 3000:3000 nextjs-app
    
  5. Откройте приложение в браузере по адресу http://localhost:3000.

Эксплуатация в разных версиях Next.js

Метод эксплуатации незначительно различается в зависимости от версии Next.js:

Для версий до 12.2:

В этих версиях файлы middleware должны были называться _middleware.ts и размещаться внутри папки pages. Значение middlewareInfo.name состояло из имени директории и имени файла:

root@kitploit:~
x-middleware-subrequest: pages/_middleware

Для вложенных маршрутов могло быть несколько файлов middleware на разных уровнях, что приводило к нескольким возможным значениям заголовка:

root@kitploit:~
x-middleware-subrequest: pages/dashboard/_middleware

или

root@kitploit:~
x-middleware-subrequest: pages/dashboard/panel/_middleware

Для версий 12.2 и новее:

Начиная с версии 12.2, Next.js изменил соглашения для middleware. Файл должен называться middleware.ts (без подчёркивания) и больше не должен находиться в папке pages. Для этих версий полезная нагрузка проще:

root@kitploit:~
x-middleware-subrequest: middleware

Кроме того, Next.js допускает альтернативную структуру проекта с директорией /src. В таких случаях полезная нагрузка будет:

root@kitploit:~
x-middleware-subrequest: src/middleware

Для версий 13.2.0 и новее:

Для версий 13.2.0 и выше Next.js ввёл максимальную глубину рекурсии для выполнения middleware. Это было реализовано для предотвращения бесконечных циклов, но не влияет на уязвимость. Эксплуатация остаётся той же, поскольку проверка заголовка происходит до любых проверок глубины рекурсии.

root@kitploit:~
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware

Или для проектов, использующих структуру с директорией /src:

root@kitploit:~
x-middleware-subrequest: src/middleware:src/middleware:src/middleware:sr
=======
# cve-2025-29927
>>>>>>> 56c7b2dcd548caf771750519107bf7c57749a864
Скачать инструмент