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

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

Популярное

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

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

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

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

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

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

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
    

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

ПакетУязвимые версииИсправленные версии
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+

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

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
  • Безопасность: Пожалуйста, сообщайте об уязвимостях ответственно

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