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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-55182 — Подробный технический разбор CVE-2025-55182 (React2Shell), прослеживающий внутренности протокола Flight в React для объяснения цепочки эксплуатации, создания полезной нагрузки и анализа исправления. | Kitploit
Инструменты/GitHubGitHub/kavienanj/cve-2025-55182
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСтатьи и ИсследованияОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubkavienanj/cve-2025-55182

CVE-2025-55182

Подробный технический разбор CVE-2025-55182 (React2Shell), прослеживающий внутренности протокола Flight в React для объяснения цепочки эксплуатации, создания полезной нагрузки и анализа исправления.

Репозиторий
38129 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

React2Shell: разбор CVE-2025-55182

Автор: Kavienan J

Уязвимость обнаружил: lachlan2k, который ответственно раскрыл её команде React.

За обновлениями по этой уязвимости обращайтесь: react2shell.com

Содержание

  1. Введение
  2. Предыстория
  3. Понимание ReactFlightReplyServer.js
  4. Создание первого пейлоада
  5. Фальшивый чанк
  6. Всё под контролем
  7. Эксплойт
  8. Исправление

Введение

CVE-2025-55182 имеет уровень серьёзности 10.0/10.0. Если вы смотрели публичные PoC, то могли заметить: хотя они показывают работу эксплойта, объяснения того, почему пейлоад выглядит именно так, могут показаться недостаточными — что вполне объяснимо, учитывая сложность протокола React Flight. Flight — слой сериализации, лежащий в основе React Server Components и Server Actions, — представляет собой сложный конечный автомат, насчитывающий более 1100 строк кода, и его поведение не является интуитивно понятным, пока не проследишь за кодом самостоятельно.

Сообщество представило PoC, наглядно демонстрирующие уязвимость:

  • https://github.com/msanft/CVE-2025-55182
  • https://github.com/lachlan2k/React2Shell-CVE-2025-55182-original-poc
  • https://x.com/rauchg/status/1997362942929440937

…но когда вы пытаетесь ответить на вопрос «Почему это работает?», то быстро оказываетесь в дебрях внутренних механизмов React, которые никогда не предполагалось читать построчно.

Примечание: Многие PoC ошибочно связывают исправление с изменениями в requireModule. Как мы увидим в разделе «Исправление», эксплуатационная нагрузка никогда не достигает этой функции — фактически уязвимый код целиком находится в ReactFlightReplyServer.js.

Этот разбор — моя попытка обратной разработки цепочки эксплуатации путём пошагового трассирования логики декодирования и инициализации чанков в React. Всё описанное здесь поведение напрямую вытекает из того, как ReactFlightReplyServer.js работал до исправления (источник: https://github.com/facebook/react/blob/v19.2.0/packages/react-server/src/ReactFlightReplyServer.js), и было сжато и упрощено так, чтобы React/JS-разработчик мог следить за ходом рассуждений, проявив достаточно терпения.


Следующий раздел: Предыстория

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