Содержание статьи
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, импорты клиентского кода, пропсы, функции и сами данные. Поддерживает потоковую передачу данных, разбивая данные на отдельные чанки и присваивая каждому свой номер. Каждый чанк— это полноценный объект с данными.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
