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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-55182 — Эксплойт-доказательство концепции для CVE-2025-55182, критической неаутентифицированной RCE в React Server Components. Включает автоматизированный Python-эксплойт, технический анализ, правила обнаружения и настройку лабораторной среды для авторизованного тестирования безопасности. | Kitploit
Инструменты/GitHubGitHub/tinashelorenzi/cve-2025-55182
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбнаружение ВторженийОбучение и ОбразованиеRed TeamingРазработка Полезной НагрузкиЛаборатории и Практика
GitHubtinashelorenzi/cve-2025-55182

CVE-2025-55182

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

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Эксплойт-доказательство концепции для CVE-2025-55182, критической неаутентифицированной RCE в React Server Components. Включает автоматизированный Python-эксплойт, технический анализ, правила обнаружения и настройку лабораторной среды для авторизованного тестирования безопасности.

Поделиться

React2Shell (CVE-2025-55182) - Доказательство концепции

Полноценный proof-of-concept эксплойт и образовательный ресурс для CVE-2025-55182, критической уязвимости удалённого выполнения кода, затрагивающей React Server Components, с оценкой CVSS 10.0.

Python Version License CVSS

Правовой дисклеймер

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

Этот инструмент предоставляется исключительно для образовательных целей и авторизованного тестирования безопасности. Неавторизованный доступ к компьютерным системам является незаконным согласно различным законам, включая Закон о компьютерном мошенничестве и злоупотреблениях (CFAA) в США и аналогичное законодательство по всему миру.

Вы обязаны:

  • Использовать этот инструмент только на системах, которыми вы владеете или на тестирование которых имеете явное письменное разрешение
  • Соблюдать все применимые местные, государственные и федеральные законы
  • Использовать этот инструмент ответственно и этично

Автор и участники:

  • Не несут ответственности за любое неправомерное использование или ущерб, причинённый этим инструментом
  • Не одобряют и не поощряют неавторизованный доступ к компьютерным системам
  • Предоставляют этот инструмент строго для образовательных целей и задач защиты

Используя этот инструмент, вы подтверждаете, что понимаете и соглашаетесь с этими условиями.

📋 Содержание

  • Обзор
  • Детали уязвимости
  • Затронутые версии
  • Технический анализ
  • Установка
  • Использование
  • Обнаружение
  • Устранение
  • Настройка лабораторной среды
  • Ссылки
  • Вклад в проект
  • Автор

🎯 Обзор

React2Shell — это критическая уязвимость, обнаруженная в декабре 2025 года, которая затрагивает React Server Components (RSC) и фреймворки, реализующие их, особенно Next.js. Уязвимость позволяет неаутентифицированное удалённое выполнение кода с помощью одного специально сформированного HTTP-запроса.

Этот репозиторий содержит:

  • ✅ Автоматизированный Python-эксплойт
  • ✅ Детальный технический анализ
  • ✅ Правила обнаружения (Snort, OSQuery)
  • ✅ Руководство по настройке лабораторной среды
  • ✅ Исчерпывающую документацию

🔍 Детали уязвимости

ПолеДетали
Идентификатор CVECVE-2025-55182
Оценка CVSS10.0 (критическая)
Вектор атакиСетевой
Сложность атакиНизкая
Требуемые привилегииОтсутствуют
Взаимодействие с пользователемНе требуется
ВоздействиеПолная компрометация системы (RCE)
Дата раскрытияДекабрь 2025 г.

Почему это критично?

  1. Не требуется аутентификация — доступно любому неаутентифицированному атакующему
  2. Уязвимы конфигурации по умолчанию — стандартные приложения Next.js, созданные с помощью create-next-app, эксплуатируемы
  3. Высокая надёжность — успешность эксплуатации близка к 100%
  4. Широкая поверхность атаки — более 571 000 публичных серверов с React-компонентами (данные Shodan)
  5. Критическое воздействие — полное удалённое выполнение кода с привилегиями процесса Node.js

📦 Затронутые версии

React Server Components

Уязвимые версии:

  • react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0

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

  • React 19.0.1
  • React 19.1.2
  • React 19.2.1

Next.js

Уязвимые версии:

  • Все версии ≥14.3.0-canary.77
  • Все выпуски 15.x (до исправления)
  • Все выпуски 16.x (до исправления)

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

  • Проверьте выпуски Next.js на наличие обновлённых версий, включающих исправления React

Другие затронутые фреймворки

  • React Router (при использовании режима RSC)
  • Waku
  • Redwood SDK
  • Различные фреймворки с поддержкой RSC

🔬 Технический анализ

Основная причина

Уязвимость находится в функции requireModule в логике десериализации React Server Components:

function requireModule(metadata) {  
  var moduleExports = __webpack_require__(metadata[0]);  
  return moduleExports[metadata[2]];  // VULNERABLE LINE - Prototype chain traversal
}

Уязвимость позволяет атакующим обходить прототипную цепочку JavaScript через протокол React Flight, получая доступ к конструктору Function через свойства вида constructor.constructor, что приводит к выполнению произвольного кода.

Цепочка эксплуатации

  1. Создание поддельного чанка — атакующий отправляет multipart-данные формы с поддельным объектом chunk
  2. Загрязнение прототипа — используется __proto__ для создания самореферентной структуры
  3. Злоупотребление обработчиком Blob — активирует внутренний обработчик десериализации Blob в React
  4. Доступ к конструктору функции — обходит constructor.constructor, чтобы добраться до Function()
  5. Выполнение кода — внедряет произвольный JavaScript через child_process.execSync()

Схема потока атаки

┌─────────────────────────────────────────────────────────────┐
│  Attacker sends multipart/form-data with Next-Action header │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Server deserializes payload via React Flight protocol      │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Fake chunk object with __proto__ pollution processed       │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Blob handler invokes _formData.get(_prefix + id)           │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Resolves to Function("malicious_code")                     │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Arbitrary code executed with Node.js process privileges    │
└─────────────────────────────────────────────────────────────┘

🚀 Установка

Требования

  • Python 3.7 или выше
  • библиотека requests

Настройка

# Clone the repository
git clone https://github.com/yourusername/react2shell-poc.git
cd react2shell-poc

# Install dependencies
pip install -r requirements.txt

# Make script executable (Linux/macOS)
chmod +x react2shell.py

Requirements.txt

requests>=2.31.0
urllib3>=2.0.0

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

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

python3 react2shell.py

Интерактивный сеанс

╔═══════════════════════════════════════════════════════════╗
║           React2Shell (CVE-2025-55182) PoC                ║
║                 CVSS 10.0 - Critical RCE                  ║
║                                                           ║
║  Affected: React 19.0.0, 19.1.0, 19.1.1, 19.2.0          ║
║           Next.js ≥14.3.0-canary.77, 15.x, 16.x          ║
║                                                           ║
║  Cerberus Secure - Lab Use Only                          ║
╚═══════════════════════════════════════════════════════════╝

[?] Enter target information:
    Host (e.g., localhost or 192.168.1.100): localhost
    Port (e.g., 3000): 3000
Скачать инструмент