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

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

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
58 месяцев назадЕщё не проверено

Лаборатория безопасности 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-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: Проверка версии (самый надежный)

root@kitploit:~
cd vulnerable-app
npm list react react-dom

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

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

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

root@kitploit:~
cd scanner
python scan.py http://localhost:3000

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

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

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

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

  • Docker и Docker Compose
  • Python 3.7+
  • Git

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

root@kitploit:~
git clone https://github.com/StealthMoud/react-server-cve-lab.git
cd react-server-cve-lab

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

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

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

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

root@kitploit:~
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

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

root@kitploit:~
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: Изолированная, воспроизводимая среда

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

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

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

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

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

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

root@kitploit:~
cd vulnerable-app
npm install
npm run build
npm start

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

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

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

root@kitploit:~
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

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

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

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

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

# Сохранение результатов в JSON
python scan.py --output results.json http://localhost:3000

# Отключение проверки SSL
python scan.py --no-verify https://self-signed.example.com

# Сканирование всех CVE с подробным выводом и сохранением результатов
python scan.py --verbose --output scan-results.json http://localhost:3000

Пример вывода

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║     Сканер уязвимостей React Server Components           ║
║         CVE-2025-55183 и CVE-2025-55184                  ║
╚═══════════════════════════════════════════════════════════╝

[*] Тестирование http://localhost:3000

[CVE-2025-55183] Раскрытие исходного кода
[!] УЯЗВИМО: Исходный код раскрыт
    Раскрытые функции: 3
    Длина кода: 1247 символов
    Содержит секреты: ✓ (найдены ключи API)

[CVE-2025-55184] Отказ в обслуживании
[!] УЯЗВИМО: DoS-атака успешна
    Код статуса: 404
    Content-Type: text/plain
    Найдены маркеры: ✓

============================================================
СВОДКА
============================================================
Всего протестировано: 1
CVE-2025-55183 уязвимо: 1
CVE-2025-55184 уязвимо: 1
Оба CVE уязвимы: 1
Не уязвимо: 0

📚 Подробная документация

Для всестороннего технического анализа обеих уязвимостей:

DOCUMENTATION.md - Полная техническая документация, охватывающая:

  • Детальный анализ уязвимостей для обоих CVE
  • Объяснение первопричин
  • Методы эксплуатации с примерами
  • Оценка воздействия
  • Стратегии обнаружения
  • Пошаговое устранение
  • Лучшие практики предотвращения
  • Примеры кода и PoC

🛡️ Устранение уязвимостей

Необходимые немедленные действия

Обе уязвимости исправлены в одних и тех же версиях патчей:

  1. Обновите React до исправленной версии:

    root@kitploit:~
    npm install [email protected] [email protected]
    # или
    npm install react@latest react-dom@latest
    
  2. Обновите Next.js (если применимо):

    root@kitploit:~
    npm install next@latest
    
  3. Проверьте исправление:

    root@kitploit:~
    npm list react react-dom next
    python scanner/scan.py http://localhost:3000
    

Исправленные версии

Проверка после установки патча

root@kitploit:~
# Запустите сканер для подтверждения исправлений
cd scanner
python scan.py http://your-patched-app.com

# Ожидаемый вывод:
# [+] CVE-2025-55183: НЕ УЯЗВИМО
# [+] CVE-2025-55184: НЕ УЯЗВИМО

🔒 Лучшие практики безопасности

Предотвращение CVE-2025-55183 (Раскрытие исходного кода)

  1. Проверка входных данных: Всегда проверяйте входные данные Server Actions
  2. Никогда не храните секреты в коде: Используйте переменные окружения
  3. Обфускация кода: Рассмотрите обфускацию на этапе сборки для чувствительной логики
  4. Регулярные аудиты: Проверяйте Server Actions на наличие чувствительных данных

Предотвращение CVE-2025-55184 (DoS)

  1. Ограничение скорости: Внедрите лимиты запросов
  2. Тайм-ауты: Установите соответствующие тайм-ауты для всех асинхронных операций
  3. Проверки работоспособности: Внедрите надежный мониторинг состояния
  4. Предохранители (Circuit Breakers): Предотвращайте каскадные сбои

Общие рекомендации

  • Держите React и Next.js обновленными
  • Подпишитесь на уведомления безопасности
  • Внедрите Web Application Firewall (WAF)
  • Регулярное сканирование безопасности в CI/CD
  • План реагирования на инциденты как для раскрытия, так и для DoS

🤝 Вклад

Вклад приветствуется! Области для улучшения:

  • Дополнительные тестовые сценарии
  • Улучшенные методы обнаружения
  • Лучшие примеры эксплуатации
  • Расширенная документация

Пожалуйста, не стесняйтесь отправлять Pull Request.

📄 Лицензия

Этот проект лицензирован под лицензией MIT — см. файл LICENSE для подробностей.

🔗 Ссылки

Официальные уведомления

  • Блог безопасности React
  • Бюллетень безопасности Vercel

Детали CVE

  • CVE-2025-55183 (NVD)
  • CVE-2025-55184 (NVD)

Дополнительные ресурсы

  • CWE-502: Десериализация недоверенных данных
  • CWE-200: Раскрытие информации
  • Документация React Server Components

⭐ Поддержка

Если вы нашли этот репозиторий полезным для ваших исследований в области безопасности, пожалуйста, поставьте ему звезду!

📧 Контакты

  • Проблемы: GitHub Issues
  • Безопасность: Пожалуйста, сообщайте об уязвимостях ответственно

Скачать инструмент
Раскрытие исходного кода сервера
АутентификацияНе требуется
Полный простой сервиса
АутентификацияНе требуется
АспектCVE-2025-55183CVE-2025-55184
Степень опасностиСредняяВысокая
ТипРаскрытие информацииОтказ в обслуживании
ВоздействиеУтечка исходного кодаСбой сервера
ОбнаружениеОтвет содержит кодТайм-аут/зависание сервера
ВосстановлениеНемедленноеТребуется перезагрузка
ПакетУязвимые версииИсправленные версии
React19.0.0 - 19.2.219.0.3+, 19.1.4+, 19.2.3+
Next.js 15.1.x< 15.1.415.1.4+
Next.js 15.0.x< 15.0.415.0.4+
Next.js 14.x< 14.2.2414.2.24+