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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-55182-React2Shell — React2Shell (CVE-2025-55182) — proof-of-concept (PoC) эксплойт, демонстрирующий КРИТИЧЕСКУЮ уязвимость удалённого выполнения кода (RCE) в современных веб-фреймворках, использующих React Server Components (RSC). | Kitploit
Инструменты/GitHubGitHub/rsch-io/cve-2025-55182-react2shell
Генерация полезной нагрузкиЭксплуатацияЭксплуатация веб-приложенийОбход WAFТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHubrsch-io/cve-2025-55182-react2shell

CVE-2025-55182-React2Shell

React2Shell (CVE-2025-55182) — proof-of-concept (PoC) эксплойт, демонстрирующий КРИТИЧЕСКУЮ уязвимость удалённого выполнения кода (RCE) в современных веб-фреймворках, использующих React Server Components (RSC).

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

Популярное

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

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

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

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

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

React2Shell

Language CVE CVSS Target License

React2Shell — это эксплойт уровня proof-of-concept (PoC), демонстрирующий CRITICAL-уязвимость удалённого выполнения кода (RCE) в современных веб-фреймворках, использующих React Server Components (RSC).

Данный PoC нацелен на CVE-2025-55182, уязвимость с рейтингом CVSS 10.0, которая позволяет неаутентифицированным удалённым злоумышленникам выполнять произвольные системные команды через небезопасную десериализацию в реализации React Server Components.


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

React2Shell эксплуатирует ошибку в том, как React Server Components обрабатывают недоверенные входные данные во время фазы rehydration.

МетрикаДетали
СерьёзностьCRITICAL (10.0 / 10.0)
ВекторCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Вектор атакиNetwork (Remote)
Взаимодействие с пользователемNone

Уязвимость берёт начало в нижележащих пакетах react-server-dom-*, отвечающих за сериализацию и десериализацию деревьев компонентов.


💥 Воздействие

Приложения, использующие уязвимые версии React Server Components, могут обрабатывать вредоносные полезные нагрузки таким образом, что это приводит к удалённому выполнению кода (RCE) с правами серверного процесса.

Злоумышленник может:

  • Выполнять произвольные системные команды.
  • Перемещаться по внутренней инфраструктуре.
  • Похищать чувствительные данные.
  • Нарушать доступность сервиса.

Если ваше развёртывание соответствует любой из уязвимых версий ниже и предоставляет доступ к RSC-эндпоинтам, вы уязвимы.


📦 Затронутые компоненты

Уязвимость присутствует в версиях 19.0.0, 19.1.0, 19.1.1 и 19.2.0 следующих пакетов:

  • react-server-dom-parcel
  • react-server-dom-webpack
  • react-server-dom-turbopack

🎯 Затронутые фреймворки и версии

Эти пакеты входят в состав множества фреймворков, включая, но не ограничиваясь:

  • Next.js
    • Версии 15.0.0 – 16.0.6
    • Canary-версии после 14.3.0-canary.76
  • Другие фреймворки, использующие RSC (v19.0.0–19.2.0), такие как:
    • Vite
    • Parcel
    • React Router
    • RedwoodSDK
    • Waku

Любой фреймворк, включающий уязвимую реализацию React Server Components, потенциально затронут.


🛠 Возможности

React2Shell включает модульный генератор полезных нагрузок, предназначенный для обхода типичных ограничений Node.js и WAF-правил:

  • Стандартная инъекция

    • Использует process.mainModule.require
    • Нацелена на стандартные Next.js / Webpack-сборки.
  • Async-обход

    • Использует динамический import() для строгих ESM-окружений, где require недоступен.
  • Обфускация

    • Кодирует чувствительные строки (например, child_process) в hex-буферы для обхода наивных WAF-сигнатур.
  • Резервный модуль

    • Использует module.createRequire для загрузки модулей в альтернативных контекстах.
  • Универсальное нацеливание

    • Настраиваемые эндпоинты:
      • Next.js: корневой /
      • Waku: RSC-эндпоинты, например /RSC/foo.txt

🚀 Установка

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

  • Node.js v18.0.0 или выше.

Настройка

git clone https://github.com/rsch-io/CVE-2025-55182-React2Shell.git
cd CVE-2025-55182-React2Shell

npm install form-data

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

React2Shell предназначен для импорта в качестве модуля в ваши собственные скрипты тестирования.

1. Базовый эксплойт (цель — Next.js)

Создайте файл с именем exploit.js:

const React2Shell = require('./src/react2shell');

// Initialize with target base URL
const target = new React2Shell('http://localhost:3000');

// Execute command using the "standard" strategy
// Arguments: execute(command, endpoint, strategy)
target.execute('whoami', '/', 'standard');

Затем выполните:

node exploit.js

Примечание

  • endpoint должен быть установлен на маршрут с поддержкой RSC (например, /, /RSC/foo.txt или специфичные для фреймворка RSC-эндпоинты).
  • strategy можно изменять (например, standard, async, obfuscated или любая другая стратегия, реализованная в react2shell).

2. Нацеливание на Waku / пользовательские эндпоинты

Waku и другие фреймворки часто предоставляют обработку RSC на определённых маршрутах:

// Target a Waku application
// Note: Use 'async' strategy as Waku often runs in strict ESM
target.execute('ls -la', '/RSC/foo.txt', 'async');

3. Режим обхода WAF

Если сервер блокирует строки, содержащие child_process, вы можете использовать стратегию obfuscated:

target.execute('cat /etc/passwd', '/', 'obfuscated');

🛡️ Устранение и исправление

Немедленно обновитесь. В обновлённых выпусках React и затронутых нижестоящих фреймворков ужесточена обработка пользовательского ввода для предотвращения нежелательного поведения.
Всем пользователям следует как можно скорее перейти на исправленную версию.

✅ Список исправленных версий

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

Программное обеспечение / пакетВетка / тип🛡️ Исправленная / безопасная версия(и)
ReactStable19.0.1, 19.1.2, 19.2.1
Next.jsv15 (Stable)15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7
Next.jsv16 (Stable)16.0.7
Next.jsCanary15.6.0-canary.58

Предупреждение для пользователей Next.js 14
Если вы используете Next.js 14.3.0-canary.77 или более позднюю canary-версию, вы уязвимы.
Немедленно выполните откат до последней стабильной версии 14.x, поскольку уязвимость затрагивает экспериментальную реализацию RSC, присутствующую в этих canary-сборках.


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

Этот проект предоставляется только в образовательных целях и для авторизованного тестирования безопасности.
Использование данного инструмента против систем без явного разрешения незаконно и неэтично.

Автор(ы) не несут ответственности за любое неправомерное использование или ущерб, причинённый данным инструментом.


📄 Лицензия

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

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