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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-55182 — CVE-2025-55182 React RCE тестовая программа | Kitploit
Инструменты/GitHubGitHub/theman001/cve-2025-55182
Сканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubtheman001/cve-2025-55182

CVE-2025-55182

CVE-2025-55182 React RCE тестовая программа

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

Популярное

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

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

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

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

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

CVE-2025-55182 (React2Shell)

Программа тестирования RCE для React — CVE-2025-55182

🔒 Интерактивный RCE-сканер CVE-2025-55182

Этот скрипт — инструмент проверки уязвимости CVE-2025-55182 — критической уязвимости удалённого выполнения кода (RCE) в React Server Components (RSC) в React 19.x.

Данный инструмент определяет, присутствует ли уязвимость на реальном сервере, и в зависимости от опций позволяет выполнять команды, сохранять логи или тестировать уязвимость с помощью двухэтапного метода RCE (module#_load).

⚠️ Этот инструмент следует использовать только в изолированной тестовой среде и исключительно в целях аудита безопасности и проверки уязвимостей.


📋 Сводка по уязвимости React2Shell (CVE-2025-55182)

ПунктОписание
Номер уязвимостиCVE-2025-55182 (React) / CVE-2025-66478 (Next.js)
Название уязвимостиReact2Shell
Тип уязвимостиУдалённое выполнение кода (RCE) — без аутентификации
Критичность (CVSS)10.0 (критическая)
Дата обнаружения2025-11-29 (Lachlan Davidson)
Сложность атакиОчень низкая (уровень Log4Shell)
Описание уязвимостиСтруктурная RCE-уязвимость, при которой во время десериализации Flight через скобочную нотацию функции requireModule() становится возможным доступ к цепочке прототипов (constructor, __proto__)

🧱 Уязвимые продукты и версии

✅ Проектам с поддержкой RSC для безопасности необходимо обновлять модули react-server-dom-* до последних версий отдельно от React.


📚 Содержание

  • 🗂️ Структура каталога
  • 🧩 Основные возможности
  • 📦 Установка
  • 🚀 Примеры запуска
  • 💬 Пример интерактивного ввода команд
  • ⚠️ Меры предосторожности
  • 📚 Техническая справка
  • 📄 Лицензия и условия использования

🗂️ Структура каталога

root@kitploit:~
CVE-2025-55182/
├── README.md                     # 전체 개요 및 스캐너 사용법
├── DETECTION_RULES.md            # 탐지/차단용 규칙 모음
├── 설명 및 탐지규칙.md             # 한글 탐지 규칙 설명
├── cve_2025_55182_interactive.py # RCE 검증 스캐너 스크립트
├── requirements.txt              # 스캐너 의존성 목록
├── setup_vulnerable_env.sh       # 취약 환경 일괄 설치 스크립트
├── uninstall_vulnerable_env.sh   # 취약 환경 정리/제거 스크립트
└── vulnerable-react-env/         # React2Shell 취약 서버 실습용 코드
    ├── README.md                 # 실습 환경 사용법
    ├── package.json              # npm 스크립트 및 의존성
    ├── server.js                 # 취약한 Express 백엔드
    ├── public/
    │   └── index.html            # CDN 기반 React 프런트엔드
    └── .gitignore

🧩 Основные возможности

✅ Интерактивная проверка возможности RCE на уязвимом сервере
✅ Поддержка методов child_process#execSync (по умолчанию) и module#_load
✅ Сохранение результатов выполнения команд в файл журнала
✅ Передача на сервер системных команд, введённых пользователем напрямую


📦 Установка

root@kitploit:~
git clone <this-repo>
cd <this-repo>
pip install -r requirements.txt

🚀 Примеры запуска

  1. Базовый RCE-тест (метод execSync)

    • Выполнение команд с помощью child_process.execSync()
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce
  2. Двухэтапный RCE-тест (метод module#_load)

    • Создание вредоносного JS-файла и его выполнение через module#_load
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad
  3. RCE-тест на основе RSC (опция --rce2)

    • Выполнение полезной нагрузки через путь обработки серверных компонентов Next.js
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce2
  4. Сохранение журнала результатов выполнения команд

    • Сохранение всех результатов команд в указанный файл журнала
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --log rce_output.log

🚧 Уязвимая лабораторная среда React-сервера (OCI/Ubuntu)

Папка vulnerable-react-env содержит намеренно уязвимый сервер React + Express, позволяющий воспроизвести CVE-2025-55182.

  1. Быстрая автоматическая настройка (рекомендуется)
    • Выполнение ./setup_vulnerable_env.sh за один раз завершит установку apt-пакетов → установку nvm/Node.js 20 → npm install.
    • После завершения запустите сервер командой cd vulnerable-react-env && npm start или npm run dev.
    • ⚠️ Если ввести только npm run, будет выведен лишь список скриптов. Обязательно указывайте имя скрипта, например npm start (или npm run start).
    • Для очистки окружения с помощью ./uninstall_vulnerable_env.sh можно удалить node_modules, полезную нагрузку moduleLoad и (опционально) Node 20 и nvm.
    • ❗️ При ошибках зависимостей, таких как ERR_MODULE_NOT_FOUND: Cannot find package 'express', установите node_modules командой cd vulnerable-react-env && npm install, после чего снова выполните npm start.
  2. Настройка вручную (альтернатива)

⚠️ Запрещается использовать в целях, отличных от исследовательских/образовательных. Не открывайте доступ из интернета.


💬 Пример интерактивного ввода команд

💬 Введите системную команду: whoami
✅ Код ответа: 200
📄 Содержимое ответа: {"success":true,"result":"www-data"}

💬 Введите системную команду: id
✅ Код ответа: 200
📄 Содержимое ответа: {"success":true,"result":"uid=1000(hacker) gid=1000(hacker)"}

💬 Введите системную команду: exit
👋 Завершение работы.


⚠️ Меры предосторожности

❌ Никогда не используйте в производственной среде.
✅ Этот скрипт следует использовать только в локальной тестовой среде или в изолированной виртуальной машине.
🛠️ Метод --method moduleLoad создаёт реальный файл /tmp/evil.js.
🧾 При использовании опции --log результаты сохраняются в виде открытого текста, поэтому ограничьте доступ к файлу.
🔐 Все запросы проверяют, выполняется ли на уязвимом сервере реальный JavaScript-код.


📚 Техническая справка

  • Официальный CVE: CVE-2025-55182

  • Методы эксплуатации:

    1. child_process#execSync
    2. vm#runInThisContext
    3. fs#writeFileSync
    4. module#_load
  • Ход атаки:

    1. Отправка специальных данных multipart/form-data на конечную точку /formaction
    2. Вызов requireModule() на сервере
    3. Возникновение RCE через цепочку прототипов или выполнение связанной (bound) функции

📄 Лицензия и условия использования

Данный проект предоставляется исключительно для исследований в области безопасности, аудита и тестирования;
несанкционированное использование на реальных системах является незаконным.

Вся юридическая ответственность, возникающая в результате использования данного инструмента, ложится на пользователя.

Скачать инструмент
Продукт/инструментУязвимые версииИсправленные версии
React.js19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpackАналогично (↑)Аналогично
react-server-dom-parcelАналогично (↑)Аналогично
react-server-dom-turbopackАналогично (↑)Аналогично
Next.js 14Некоторые версии от 14.3.0.canary.77 и выше(неофициально) рекомендуется перейти на 15.0.5 и выше
Next.js 1515.0.0 ~ 15.5.615.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 15.6.0
Next.js 1616.0.0 ~ 16.0.616.0.7
Прочие инструментыReact Router RSC, RedwoodJS, Vite RSC Plugin, Parcel RSC Plugin и др.Требуется обновление RSC-зависимостей соответствующего проекта

Использование всех возможностей (метод + журнал)

  • Одновременное использование метода moduleLoad и сохранение журнала
  • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad --log rce_output.log
  • Вывод отладки полезной нагрузки

    • Вывод полезной нагрузки в консоль перед отправкой на сервер
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --debug
  • sudo apt update && sudo apt install -y curl build-essential
  • curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh -o /tmp/install_nvm.sh && bash /tmp/install_nvm.sh
  • nvm install 20 && nvm use 20
  • cd vulnerable-react-env && npm install
  • npm start (порт по умолчанию: 3000)
  • Воспроизведение уязвимости
    • Откройте в браузере http://localhost:3000 и отправьте _payload и cmd через форму
    • Либо воспроизведите последовательность RCE с помощью примеров curl из vulnerable-react-env/README.md