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

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

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

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

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

Категории

Все категории
Loading categories
react-server-cve-lab — Лаборатория безопасности исследований для CVE-2025-55183 и CVE-2025-55184 в React Server Components | Kitploit
Инструменты/GitHubGitHub/stealthmoud/react-server-cve-lab
Анализ уязвимостейЭксплуатацияВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubstealthmoud/react-server-cve-lab

react-server-cve-lab

Лаборатория безопасности исследований для CVE-2025-55183 и CVE-2025-55184 в React Server Components

Репозиторий
559 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

Лаборатория безопасности React Server Components (CVE-2025-55183 и CVE-2025-55184)

License: MIT React Version CVE-2025-55183 CVE-2025-55184

Комплексная среда тестирования безопасности для уязвимостей CVE-2025-55183 (раскрытие исходного кода) и CVE-2025-55184 (отказ в обслуживании) в React Server Components.

⚠️ Отказ от ответственности

ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И ИССЛЕДОВАНИЙ БЕЗОПАСНОСТИ

Этот репозиторий содержит намеренно уязвимые приложения и инструменты эксплуатации. Тестируйте только на системах, которые вам принадлежат или на которые вы получили явное письменное разрешение. Несанкционированное тестирование незаконно и неэтично.

📋 Содержание

  • Об уязвимостях
  • Быстрый старт
  • Структура репозитория
  • Уязвимое приложение
  • Использование сканера
  • Подробная документация
  • Устранение уязвимостей
  • Лицензия

🔍 Об уязвимостях

Обе уязвимости затрагивают React Server Components версий с 19.0.0 по 19.2.2, раскрыты 11 декабря 2025 года.

CVE-2025-55183: Раскрытие исходного кода (средняя степень опасности)

СвойствоЗначение
Степень опасностиСредняя (CVSS 5.3)
ТипРаскрытие информации
ВоздействиеРаскрытие исходного кода сервера
АутентификацияНе требуется

Злоумышленники могут принудительно вызвать раскрытие серверного исходного кода, передавая аргументы серверным действиям и вызывая .toString() на объектах серверных функций. Это раскрывает:

  • Бизнес-логику и алгоритмы
  • Жестко закодированные ключи API или секреты
  • Внутренние детали реализации
  • Запросы к базе данных и информацию о схеме

CVE-2025-55184: Отказ в обслуживании (высокая степень опасности)

СвойствоЗначение
Степень опасностиВысокая (CVSS 7.5)
ТипОтказ в обслуживании
ВоздействиеПолный простой сервиса
АутентификацияНе требуется

Специально созданные полезные нагрузки создают бесконечную рекурсию promise, что приводит к зависанию сервера Node.js на неопределенный срок. Результаты:

  • Полная недоступность сервиса
  • Истощение CPU
  • Блокировка цикла событий
  • Требуется ручная перезагрузка

Сравнение

АспектCVE-2025-55183CVE-2025-55184
Степень опасностиСредняяВысокая
ТипРаскрытие информацииОтказ в обслуживании
ВоздействиеУтечка исходного кодаСбой сервера
ОбнаружениеОтвет содержит кодТайм-аут/зависание сервера
ВосстановлениеНемедленноеТребуется перезагрузка

⚠️ Важно: О CVE-2025-55184 (DoS) в этой демонстрации

Почему DoS может не привести к сбою демо-приложения

TL;DR: Приложение УЯЗВИМО (React 19.0.0), но современные механизмы защиты могут предотвратить реальный сбой в этой демо-среде.

Реальность

CVE-2025-55184 — это РЕАЛЬНАЯ, КРИТИЧЕСКАЯ уязвимость, затрагивающая React 19.0.0-19.2.2 в производственных средах. Однако успешная демонстрация DoS-сбоя в локальной демонстрации может быть затруднена из-за:

1. Встроенная защита Next.js

  • Next.js 15.x включает границы ошибок, которые перехватывают и восстанавливаются после многих сбоев
  • Автоматические механизмы восстановления предотвращают бесконечную рекурсию
  • Производственный режим имеет другую обработку ошибок, чем уязвимый путь кода

2. Изоляция Docker

  • Контейнеризация добавляет изоляцию процессов
  • Ограничения ресурсов предотвращают полное зависание системы
  • Система инициализации Docker может обнаружить и перезапустить зависшие процессы

3. Разработка vs Производство

  • Точный уязвимый путь кода требует определенных производственных конфигураций
  • Среды разработки/демонстрации имеют дополнительные механизмы безопасности
  • Состояния гонки и тайминги отличаются в контейнерах

Как проверить, что уязвимость присутствует

Даже если эксплойт не вызывает сбой демонстрации, вы можете проверить уязвимость с помощью:

Метод 1: Проверка версии (самый надежный)

cd vulnerable-app
npm list react react-dom

# Вывод показывает:
[email protected]        ← УЯЗВИМАЯ ВЕРСИЯ
[email protected]    ← УЯЗВИМАЯ ВЕРСИЯ

Если вы видите 19.0.0 - 19.2.2, приложение УЯЗВИМО.

Метод 2: Обнаружение с помощью сканера

cd scanner
python scan.py http://localhost:3000

Сканер проверяет:

  • ✅ Версию React в уязвимом диапазоне
  • ✅ Включены ли Server Actions
  • ✅ Правильные заголовки ответа сервера
  • ✅ Шаблоны уязвимых конечных точек

🚀 Быстрый старт

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

  • Docker и Docker Compose
  • Python 3.7+
  • Git

1. Клонирование репозитория

git clone https://github.com/StealthMoud/react-server-cve-lab.git
cd react-server-cve-lab

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

# Запуск приложения (уязвимого к обоим CVE)
docker-compose up --build -d

# Приложение доступно по адресу: http://localhost:3000

3. Запуск сканера

cd scanner

# Установка зависимостей
pip install -r requirements.txt

# Сканирование на обе уязвимости
python scan.py http://localhost:3000

# Сканирование только CVE-2025-55183
python scan.py --cve 55183 http://localhost:3000

# Сканирование только CVE-2025-55184
python scan.py --cve 55184 http://localhost:3000

# Сканирование нескольких целей
python scan.py --file targets.txt

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

react-server-cve-lab/
├── README.md                          # Этот файл
├── DOCUMENTATION.md                   # Полная техническая документация
├── LICENSE
├── .gitignore
├── docker-compose.yml
│
├── vulnerable-app/                    # Уязвимо к ОБОИМ CVE
│   ├── Dockerfile
│   ├── package.json
│   ├── next.config.js
│   └── app/
│       ├── layout.js
│       ├── page.js
│       └── actions.js                 # Уязвимые серверные действия
│
├── scanner/
│   ├── requirements.txt
│   ├── scan.py                        # Сканер для обоих CVE
│   └── README.md
│
└── exploits/
    ├── exploit-55183.py               # PoC для CVE-2025-55183
    ├── exploit-55184.py               # PoC для CVE-2025-55184
    └── README.md

🎯 Уязвимое приложение

Приложение представляет собой Next.js приложение, работающее на React 19.0.0 с Server Actions, уязвимое к обоим CVE.

Возможности

  • Server Actions: Несколько конечных точек, демонстрирующих обе уязвимости
  • Реалистичный код: Имитирует реальные шаблоны с секретами
  • Простое тестирование: Простой UI для ручного тестирования
  • На основе Docker: Изолированная, воспроизводимая среда

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

# Использование Docker Compose (рекомендуется)
docker-compose up --build -d

# Проверка, запущено ли
curl http://localhost:3000

# Просмотр логов
docker-compose logs -f

# Остановка приложения
docker-compose down

Ручная настройка (без Docker)

cd vulnerable-app
npm install
npm run build
npm start

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

Единый сканер обнаруживает как CVE-2025-55183, так и CVE-2025-55184.

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

cd scanner

# Сканирование на оба CVE
python scan.py http://localhost:3000

# Сканирование только конкретного CVE
python scan.py --cve 55183 http://localhost:3000
python scan.py --cve 55184 http://localhost:3000

Расширенные опции

# Подробный вывод
python scan.py --verbose http://localhost:3000

# Пользовательский тайм-аут
python scan.py --timeout 10 http://example.com

# Сканирование нескольких URL из файла
python scan.py --file targets.txt
Скачать инструмент