- CVE-2025-55182 в React и CVE-2025-66478 в Next.js позволяват неавторизирано дистанционно изпълнение на код чрез протокола React Server Components Flight.
- Проблемът произтича от опасна десериализация на RSC полезните товари, оставяйки конфигурациите по подразбиране на React и Next.js открити без никакви промени в персонализирания код.
- Изследователите по сигурността съобщават за близо 100% надеждност на експлоатацията и предупреждават, че са вероятни масови атаки, тъй като се анализират корекции.
- Незабавните ъпгрейди до подсилените версии на React и Next.js са единственото окончателно решение, особено в облачни среди, където до ~40% може да са уязвими.
Разкриването на CVE-2025-55182 в React и неговият двоен проблем CVE-2025-66478 в Next.js насочи вниманието към това колко крехки могат да бъдат сървърните JavaScript стекове, когато ниско ниво протоколи се объркат. Вместо да е нишова грешка, това е грешка с максимална тежест за дистанционно изпълнение на код, която засяга ядрото на React Server Components и... Протокол за полета много съвременни приложения тихо зависят от.
Това, което прави този случай особено обезпокоителен, е, че настройките по подразбиране са изложениОбикновено приложение Next.js, генерирано с create-next-app, създаден за производство и внедрен без никакви необичайни опции, може да бъде компрометиран чрез неудостоверена HTTP заявка. Няма сложна неправилна конфигурация, няма екзотичен плъгин - само стандартният стек, който много екипи внедряват всеки ден.
Как бяха разкрити CVE-2025-55182 и CVE-2025-66478
Коренът на проблема се крие в имплементация на react-server, която захранва React Server Components (RSC)Този пакет е в основата на протокола Flight, който се използва за прехвърляне на сериализирани данни от компоненти между клиент и сървър. Когато изследователят по сигурността Лаклан Дейвидсън съобщи за подозрително поведение чрез програмата за откриване на грешки на Meta в края на ноември, това предизвика бърза реакция от екипите на React и Meta.
Според публичните предупреждения, уязвимостта е била разкрита в сряда и спешните лепенки бяха изпратени в рамките на около четири дниТова е необичайно бързо решение за проблем, засягащ толкова голяма екосистема, и подчертава колко сериозен е недостатъкът: поддръжниците на React го оцениха с... CVSS резултат от 10.0, максимално възможният.
Паралелно, Vercel — компанията, която стои зад Next.js — анализира как същият основен бъг е повлиял на неговата рамка. Тъй като Next.js използва същия RSC Flight протокол на сървъра, той е наследил слабостта и му е бил присвоен собствен идентификатор, CVE-2025 66478-Vercel издаде предупреждение и пусна корекции в същия ден като съобщението за React, с цел да съкрати максимално времето за атаки на атакуващите.
Въпреки бързата реакция, Доставчиците на услуги за сигурност и изследователите започнаха да предупреждават, че атакуващите вероятно ще направят обратен инженеринг на корекциите. много бързо, както се вижда в атаки срещу веригата за доставки срещу npmСлед като коригираният код стане публичен, става много по-лесно да се заключи къде е била грешката и да се създадат работещи експлойти.
Какво точно не е наред в протокола React Flight?
На техническо ниво, както CVE-2025-55182, така и CVE-2025-66478 се свеждат до опасна десериализация на данни, контролирани от нападател в рамките на протокола Flight. Компонентите на React Server изпращат и получават структурирани полезни товари, които сървърът след това декодира и използва за управление на потока на изпълнение.
Уязвимата логика в react-server пакет не успя да валидира стриктно структурата и съдържанието на входящите RSC полезни товариЧрез изпращане на умишлено деформиран, но внимателно изработен полезен товар Flight към крайна точка на React Server Function, атакуващият може да повлияе на това, което сървърът прави, когато десериализира тези данни. Вместо просто да реконструира безобидно състояние на компонента, пътят на кода може да бъде насочен към изпълнение. привилегирован JavaScript на сървъра.
Тъй като грешката влияе върху начина, по който се декодира протоколът, не се изисква удостоверяванеОтдалечен атакуващ трябва само да може да изпраща HTTP заявки до всяка достижима RSC или крайна точка на сървърна функция. Това превръща уязвимостта в директен, неудостоверен RCE вектор: изпраща се създадена заявка, изчаква се опасната десериализация и полезният товар може да се изпълни на backend-а.
Изследователи от Wiz, които независимо анализираха проблема, го описват като уязвимост към логическа десериализация а не просто грешка при парсинг. При тяхното тестване е постигнато напълно работещо доказателство за концепцията на експлойта. почти 100% надеждност при задействане на изпълнение на код върху уязвими цели.
Защо внедряванията на React и Next.js по подразбиране са изложени на риск
Един от най-тревожните аспекти на тези превентивни явления е, че те влияят на готовите за употреба конфигурацииЗа много проблеми със сигурността, експлоатацията изисква специфичен флаг за функция, рядко използван плъгин или нестандартен режим на внедряване. Това не е така в този случай.
Компонентите на React Server и техният протокол Flight са станали неразделна част от съвременните архитектури на React 19 и Next.js. В резултат на това, стандартна производствена компилация, генерирана от create-next-app може да бъде експлоатиран без допълнителен код от разработчика на приложението. Няма нужда атакуващият да гадае персонализирани маршрути или бизнес логика; злоупотребата с общите RSC крайни точки е достатъчна.
Недостатъкът не се ограничава само до Next.js. Всяка рамка или инструмент, който обединява или реимплементира протокола RSC Flight на сървъра може да са уязвими. Публичните предупреждения и докладите за сигурност подчертават няколко засегнати екосистеми:
- Next.js, най-известната рамка, засегната надолу по веригата
- Плъгин Vite RSC (
@vitejs/plugin-rsc) - Плъгин за RSC на парцели (
@parcel/rsc) - Преглед на React Router RSC
- RedwoodSDK (често цитиран като
rwsdk) - Уаку и други RSC-базирани инструменти
В самия React, грешката влияе версии 19.0, 19.1.0, 19.1.1 и 19.2.0 на съответните пакети. Поддръжниците заявяват, че надграждане до 19.0.1, 19.1.2 или 19.2.1 осигурява засилено поведение и премахва уязвимостта. Next.js има съответните фиксирани версии, които интегрират обновената логика на React сървъра.
Някои доставчици на инфраструктура са изяснили границите на въздействие. Например, Google заяви, че Публичните образи на операционната система за Compute Engine не са уязвими по подразбиране, тъй като не предлагат React или Next.js готови; рискът възниква, когато потребителите внедрят засегнатите версии на тези рамки върху базовите изображения.
Колко голям е радиусът на взрива през облака?
Мащабът на проблема става по-ясен, когато се разгледа колко широко се използват React и Next.js в продакшън среда. React е в основата на потребителските интерфейси за големи платформи като Facebook, Instagram, Netflix, Airbnb, Shopify, Walmart, Asana и много другиОсвен това, безброй по-малки приложения и вътрешни табла за управление са изградени със същите компоненти и рамки.
Екипите за разузнаване на заплахи в Wiz анализираха телеметрията от облачни среди и установиха, че Около 39-40% от облачните внедрявания съдържат уязвими екземпляри на React или Next.js. Само за Next.js, рамката се появява приблизително 69% от изследваните средии около 61% от тези публично достъпни приложения работят върху негоКогато комбинирате тези проценти, това означава, че приблизително 44% от всички наблюдавани облачни среди хостват публично изложени Next.js инстанции, независимо от точната версия на рамката.
Това припокриване между популярност и уязвимост е това, което алармира защитниците. Когато широко разпространен стек има RCE грешка с максимална тежест, неудостоверена и надежден път на експлоатация, почти гарантирано е, че ще последват опортюнистични и целенасочени атакиДори организациите, които бързо инсталират корекции, може да се сблъскат с кратък период, в който откритите крайни точки могат да бъдат изследвани и компрометирани.
По време на първоначалните разкрития, не е било публично съобщено за потвърдена експлоатация в дивата природаВъпреки това, множество изследователи по сигурността, включително експерти от Rapid7 и watchTowr, подчертаха, че е реалистично да се предположи, че злонамерените лица вече извършват обратно инженерство на корекциите, сканират за некорекции в услугите и изграждат автоматизирани вериги от атаки.
Какво казват изследователите и доставчиците за риска от експлоатация
Изявленията на общността по сигурност рисуват последователна картина: това не е теоретичен проблем, а бариерата за навлизане на нападателите е ниска. Бенджамин Харис, главен изпълнителен директор на watchTowr, описа недостатъка като основен риск за потребителите на една от най-разпространените уеб рамки в света и подчерта, че експлоатацията изисква „малко предварителни условия“.
Изследователи от Wiz повториха тази оценка, след като тестваха както уязвими, така и закърпени версии. Техните вътрешни експерименти показаха, че създадените полезни товари, използвани за експлоатиране на опасната десериализация, постигнаха близо 100% успеваемост при задействане на пълно дистанционно изпълнение на код на засегнатите сървъри. Те също така отбелязаха, че атаката е напълно отдалечено и неавтентично, задвижвани изцяло от специално конструирани HTTP заявки.
От гледна точка на Rapid7, очакването е, че Технически описания и експлойти за доказване на концепцията ще се появят, след като достатъчно хора анализират пачовете.Това от своя страна вероятно ще подхрани по-широкообхватно сканиране и опити за масова експлоатация, особено срещу облачни среди с много приложения, насочени към интернет.
Дори извън общността на доставчиците, Медиите в индустрията определиха тези престъпни вредители (CVE) като излагащи на риск значителна част от интернет.Докладите подчертават не само сериозността на проблема, но и броя на големите потребителски сайтове, SaaS платформи и API backend-ове, които разчитат на React и Next.js за своите фронтендове и рендериране от страна на сървъра.
Стъпки за смекчаване: какво трябва да направят потребителите на React и Next.js сега
За екипите, които използват React или Next.js в продукционна среда, насоките от поддръжниците и изследователите се свеждат до едно просто нещо: Надграждането до пач версиите е единственото окончателно решениеНяма превключватели за конфигурация или общи WAF правила, които могат напълно да решат проблема с опасното поведение при десериализация в протокола Flight.
Екипът на React препоръчва на всеки в засегнатите клонове преминава към по-засилените версии 19.0.1, 19.1.2 или 19.2.1, като се уверите, че react-server Пакетът е включен в актуализацията. За Next.js, Vercel публикува фиксирани компилации, които интегрират обработката на пачовете на RSCАдминистраторите трябва да се консултират с официалното ръководство за Next.js, за да определят минималната безопасна версия за избраната от тях линия издания.
Организации, които разчитат на други RSC-активирани рамки — като Redwood, Waku, RSC preview на React Router или RSC плъгините на Vite и Parcel — се препоръчва да проверете съответните бележки за изданието и канали за сигурностВ много случаи тези проекти просто обгръщат или пакетират сървърните компоненти на React, така че е необходимо актуализиране на самия React и след това изтегляне на най-новата редакция на рамката.
Освен простото инсталиране на корекции, се използват и инструменти, фокусирани върху облака, за търсене на уязвими екземпляри в голям мащабКлиентите на Wiz, например, могат да използват запитвания и съвети в Wiz Threat Center, за да открият къде в техните среди са разположени засегнатите версии на React или Next.js. Други организации използват инвентаризации на активи, SBOM данни и сканиране на контейнери, за да постигнат подобна видимост.
Ако има някакви индикации, че системите може вече да са били атакувани или компрометирани чрез тези CVE, препоръчва се подкрепа за реагиране при инцидентиНякои доставчици специално канят клиенти, които подозират, че са в експлоатация на CVE-2025-55182 или CVE-2025-66478, да се свържат с техните екипи за връзки с клиенти за помощ при триаж, ограничаване на разпространението и криминалистика.
Какво разкрива това за уеб екосистемата на JavaScript
Въпреки че пачовете на React и Next.js затварят непосредствената дупка, Инцидентът повдига по-широки въпроси относно това как сървърните JavaScript рамки обработват ненадеждни данниПротоколи като Flight са дълбоко в стека, скрити зад абстракции, които разработчиците рядко проверяват директно, което означава, че недостатъците могат да имат широкообхватни последици, преди да бъдат забелязани.
Фактът, че уязвимо поведение, доставено по подразбиране, силно рекламирани конфигурации също така подчертава напрежението между опита на разработчиците и дизайна, защитен по подразбиране. Функции, които улесняват изграждането на съвременни приложения – като сървърни компоненти и безпроблемна сериализация между клиент и сървър – могат незабелязано да въведат сложни повърхности за атака.
За екипите по сигурността този случай е поредното напомняне, че Уязвимостите на ниво рамка могат мигновено да се превърнат в експозиция за цялата организацияЕдин-единствен бъг в популярен компонент с отворен код може да се появи в основата на десетки отделни приложения, микросървиси и вътрешни инструменти, особено когато контейнери и шаблони се използват повторно.
От положителната страна, отговорът на разработчиките на React, Meta и Vercel, показва, че Координираното разкриване и бързото развитие на участъците са възможни дори в големи екосистемиЯсните препоръки, корекциите с различни версии и координацията с доставчиците на защитни решения помогнаха на защитниците да приоритизират този проблем на фона на много конкуриращи се уязвимости.
В бъдеще много наблюдатели очакват продължителен контрол върху Логика на сериализация, десериализация и парсиране на протоколи в уеб рамкиАко CVE-2025-55182 и CVE-2025-66478 стимулират по-систематично тестване и по-строга валидация за компоненти като Flight, някои дългосрочни ползи за сигурността могат да възникнат от иначе сериозен инцидент.
Засега екипите, използващи React или Next.js стекове, са в надпревара между... внедряване на корекции и автоматизация на атакуващитеС максимално сериозно RCE, засягащо конфигурациите по подразбиране, широко разпространеното присъствие в облака и техниките за експлоатация с висока надеждност, вече демонстрирани в изследвания, поддържането на безопасността на тези среди се свежда до това колко бързо организациите могат да идентифицират къде са изложени на риск и да преместят всичко към защитените версии.