Содержание статьи
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Исследователь Лахлан Дэвидсон сообщил о критической проблеме в протоколе React Flight Protocol, с которым работают компоненты React. Информацию об уязвимости опубликовали 3 декабря под номером CVE-2025-55182.
В этот же день вышли патчи и рекомендации по защите. Но, как ты знаешь, не все обращают внимание на необходимость пропатчиться, а это отличный шанс для пентестеров и охотников за багбаунти!
В большей степени под угрозой оказались проекты на Next.js, фреймворк по умолчанию использует RSC в App Router. Но есть смысл проверять все, что крутится на экосистеме React: в недрах может работать непропатченный RSC.
Если ты уже пытался разобраться с этой CVE, у тебя могла возникнуть в голове путаница из‑за разных подходов и разных цепочек эксплуатации. Изначально уязвимостей было две: CVE-2025-55182 в RSC и CVE-2025-66478 в Next.js. Потом вторую пометили как дубликат.
Другая причина путаницы в том, что после появления информации о CVE на GitHub выложили много PoC. Большинство из них имитирует уязвимость и эксплуатацию, используя лишь часть механизмов. Всё ради хайпа и звездочек!
Базовые понятия
React Server Components (RSC) — это часть экосистемы React: компоненты, которые рендерятся на сервере. Код компонентов недоступен клиенту. Компоненты возвращают в браузер данные в специализированном формате Flight Protocol.
Flight Protocol — это внутренний протокол сериализации для обмена данными между клиентом и сервером. Он способен обрабатывать разные типы данных, включая сериализованное дерево компонентов React, импорты клиентского кода, пропсы, функции и сами данные. Поддерживает потоковую передачу данных, разбивая данные на отдельные чанки и присваивая каждому свой номер. Каждый чанк— это полноценный объект с данными.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
