CVE-2025-55182 в React и Next.js: Как уязвимостта на React2Shell излага на риск съвременните уеб приложения

Последна актуализация: 12/04/2025
Автор: C SourceTrail
  • Критична уязвимост CVE-2025-55182 в React Server Components позволява неавторизирано дистанционно изпълнение на код чрез опасна десериализация.
  • Проблемът се разпространява каскадно надолу по веригата към Next.js като CVE-2025-66478, като и двете уязвимости са оценени с максимална тежест (CVSS 10).
  • Конфигурациите по подразбиране са разкрити и изследователите съобщават за близо 100% надеждност на експлоатацията в много реални среди.
  • Доставчиците са публикували насоки и корекции, а организациите, използващи React или Next.js, трябва незабавно да актуализират и прегледат своите внедрявания.

Уязвимост в сигурността в React и Next.js

Разкриването на CVE-2025-55182 в React Server Components и свързаното с него въздействие върху Next.js бързо се превърна в една от най-обсъжданите истории за сигурност в света на уеб разработката. Пропускът разкрива критичен път за атакуващите, за да постигнат дистанционно изпълнение на код на сървъри, които разчитат на тези изключително популярни технологии.

За екипи, които са възприели съвременния React и Next.js стек, това не е абстрактен академичен бъг. Изследователите по сигурност предупреждават, че експлоатацията е едновременно реалистична и много надежднаи че конфигурациите по подразбиране оставят много производствени внедрявания неочаквано уязвими за атаки, ако не бъдат бързо актуализирани.

„React2Shell“: Критичната уязвимост, която разтърсва мрежата – и защо е важна

Уязвимостта в центъра на тази ситуация, публично проследено като CVE-2025-55182, засяга протокола зад React Server Components (RSC). Изследователите са нарекли пътя на експлойта „React2Shell“, за да подчертаят, че успешната атака може да премине от изработена RSC заявка до пълен достъп на ниво shell на базовия сървър.

На високо ниво, дефектът се появява поради опасна десериализация на полезни товари, предоставени на крайните точки на React Server FunctionКогато сървърен компонент обработва тези специално създадени полезни товари, атакуващият може да премине от привидно безобидна обработка на данни към изпълнение на произволен код, без да е необходимо удостоверяване.

Въпреки че коренът на проблема се крие в имплементацията на React с отворен код, влиянието му не спира дотук. Next.js, който се основава на React и се използва широко за приложения от производствен клас, наследява проблема в обработката на логиката от страна на сървъра. Този риск надолу по веригата е каталогизиран отделно като CVE-2025-66478, като ефективно разширява радиуса на взрива в голяма част от съвременния уеб стек.

Както CVE-2025-55182, така и неговият еквивалент Next.js бяха присвоен максимален резултат за тежест от 10 съгласно общата система за оценяване на уязвимостите. Тази оценка отразява комбинацията от възможност за отдалечена експлоатация, липса на изисквания за удостоверяване и потенциал за пълно компрометиране на системата.

Какво е React2Shell – и как работи?

Под капака, компонентите на React Server разчитат на протокол, при който клиентът и сървърът обменят сериализирани полезни товари, за да обработват рендерирането и логиката от страна на сървъра. Ядрото на React2Shell е, че тези полезни товари могат да бъдат манипулирани по начин, който задейства опасна десериализация, което ефективно позволява контролираният от нападателя вход да бъде интерпретиран като изпълними инструкции на сървъра.

В типичен сценарий на атака, противникът създава злонамерен полезен товар, който е насочен към Крайна точка на React Server Function, изложена от приложениеТъй като уязвимостта може да бъде задействана без удостоверяване, нападателят се нуждае само от мрежов достъп до крайната точка, за да се опита да я експлоатира.

След като злонамереният полезен товар бъде обработен, сървърът може да го десериализира по опасен начин, като по този начин ефективно размива границата между данни и код. Това отваря вратата за дистанционно изпълнение на код, което дава възможност на атакуващия да изпълнява произволни команди с разрешенията на сървърния процес.

Според откритията, споделени публично от изследователи от Wiz, пътят на експлоатация не е само теоретичен. По време на вътрешни експерименти те съобщиха за „висококачествена“ експлоатация с процент на успех, близо 100%. в тествани от тях среди. Това ниво на надеждност драстично намалява бариерата за нападателите и увеличава неотложността за защитниците, както е показано в последните случаи. ataques a la cadena de suministro de npm.

Това, което прави това особено тревожно за практикуващите, е, че Уязвимото поведение е налице в конфигурациите по подразбиранеС други думи, разработчиците не е задължително да се включат в опасни настройки; много приложения са изложени на риск просто защото използват стандартния, препоръчителен стек.

Обхват и въздействие: Защо толкова много проекти са изложени на риск

Включените технологии правят този проблем особено широко разпространен. React, роден във Facebook и сега поддържан като библиотека с отворен код, е в основата на огромна част от съвременните уеб интерфейси. благодарение на своя компонентно-базиран модел и екосистема. Next.js, поддържан от Vercel, се превърна в предпочитана рамка за изграждане на готови за производство React приложения със сървърно рендериране и API маршрути.

Поради тази популярност, броят на засегнатите внедрявания не е незначителен. Изследователи на Wiz изчислиха, че около 40% от изследваните от тях облачни среди съдържат уязвими екземпляри на React или Next.js.Тази снимка показва, че грешката не е граничен случай, а масов проблем в широк кръг от организации и индустрии.

Практическото въздействие на успешна експлоатация може да бъде сериозно. След като атакуващите получат достъп до дистанционно изпълнение на код чрез CVE-2025-55182 или свързаната с него уязвимост Next.js, те потенциално могат да имат достъп до чувствителни данни, да се придвижват странично в средата, да инсталират задни врати или да използват компрометирани сървъри като отправни точки за по-нататъшни атаки.

Бенджамин Харис, основател и главен изпълнителен директор на watchTowr, подчерта, че макар публичните технически подробности да са все още сравнително ограничени, Публикуването на корекции е достатъчно, за да насочи решителните нападателиСлед като започнат да преглеждат промените в кода и консултативните бележки, става значително по-лесно да се възпроизведе пътят на експлоатация и да се използва като оръжие в реални условия.

Тази динамика – публикуването на корекции преди широко разпространеното им отстраняване – често създава надпревара. Организациите вече ефективно се конкурират с хакерите да се внедрят корекции и стъпки за смекчаване на вредите, преди опитите за експлоатация да се увеличат.

Защо React2Shell е особено опасен

Редица фактори се комбинират, за да откроят тази уязвимост от обичайния поток от съвети за сигурност. Първо, Липсата на изисквания за удостоверяване означава, че анонимните нападатели могат директно да се насочат към открити крайни точкиВсяка публично достъпна крайна точка на сървърния компонент незабавно става част от повърхността за атака.

Второ, начинът, по който бъгът се проявява в реални условия, води до изключително висока надеждност на експлоатациятаКакто Wiz съобщи, при типични конфигурации пътят на експлоатацията работеше почти всеки път в техните сценарии за проверка на концепцията, намалявайки нуждата от сложни или крехки вериги за атака.

Трето, проблемът засяга същността на начина, по който React Server Components и Next.js обработват логиката от страна на сървъра. Защото недостатъкът е свързан със самия RSC протокол, а не само с функция на тясната граница, много приложения наследяват риска просто като следват стандартни модели, насърчавани от официалната документация.

И накрая, по-широкият контекст на екосистемата е от значение. React и Next.js са дълбоко вградени в облачните и микросървисните архитектури. които захранват всичко - от малки стартиращи компании до големи предприятия. Един единствен компрометиран сървърен компонент може да осигури входна точка към много по-голяма и по-сложна среда.

Взети заедно, тези свойства обясняват защо и двете уязвимости са оценени на максимално ниво на сериозност и защо общността по сигурност силно насърчава бързо инсталиране на корекции и проактивна оценка на риска а не подход „изчакай и ще видиш“.

Какво вече се прави (и какво трябва да направите точно сега)

След като проблемът беше докладван чрез програмата Meta Bug Bounty — изследователят Лаклан Дейвидсън уведоми екипа на React на 29 ноември — отговорниците за поддръжката започнаха да разследват, коригират и координират разкриването на грешки. Проектът React и Vercel, компанията, стояща зад Next.js, вече публикуваха насоки, които да помогнат на потребителите да актуализират софтуера си.

От страна на продавача, Пачовете за издания и консултативните бележки описват кои версии са засегнати и как да се извърши надстройкаОрганизациите, използващи React Server Components или Next.js, трябва внимателно да прегледат тези документи, да определят кои внедрявания са в обхвата им и да планират актуализации като основен приоритет.

Като се има предвид, че конфигурациите по подразбиране са уязвими, простото допускане, че „персонализираните настройки“ или минималното използване ще предложат защита, е рисковано. Екипите по сигурността трябва да инвентаризират всички приложения, които разчитат на React Server Components или Next.js, като се обръща специално внимание на публично достъпните крайни точки, изложени на интернет.

Въпреки че прилагането на кръпки е основната стъпка, разумно е да се обмислят и краткосрочни мерки за смекчаване на последиците. Ограничаване на ненужното публично излагане на крайни точки на сървърни компоненти, затягането на контрола за достъп до мрежата, където е възможно, и подобряването на наблюдението за подозрителни модели на заявки могат да намалят риска, докато се внедряват актуализации, както и преглед на gestión segura de secretos en GitHub Actions.

Организациите може също да искат да работят в тясно сътрудничество със своите екипи за разработка, за да преглед на регистрирането, плановете за реагиране при инциденти и всички признаци на необичайна активност около React или Next.js услуги, включително използване на Burp Collaborator para detektor interacciones fuera de banda.

Какво означава това за уеб екосистемата – и какво да наблюдавате

Появата на CVE-2025-55182 и неговия еквивалент Next.js повдига по-широки въпроси относно как бързо развиващите се уеб рамки управляват сигурността в сложни сървърни функцииКомпонентите на React Server, макар и мощни, въвеждат нови модели на комуникация и логика на сериализация, които се нуждаят от щателен контрол.

За по-широката екосистема този инцидент е напомняне, че дори зрелите, широко възприети технологии могат да съдържат силно въздействащи уязвимости, коренящи се в фини детайли на внедряванетоКомбинацията от оптимизации на производителността, удобство за разработчиците и гъвкави API понякога може да маскира дълбоки предположения за сигурност, докато не бъдат тествани от изследователи.

В бъдеще е вероятно както общностите на React, така и Next.js да видят повишен фокус върху сигурното боравене със сървърните функции, сериализацията на полезния товар и конфигурациите по подразбиранеОрганизациите, които са загрижени за сигурността, могат също да настояват за по-ясни насоки, по-ясни опции за втвърдяване и разширена документация относно безопасните практики при изграждане със сървърни компоненти.

Междувременно, защитниците трябва внимателно да следят актуализации от официалните канали на проекта, доставчици на решения за сигурност и изследователи, които продължават да анализират уязвимостта. Нови доказателства за концепция, правила за откриване и препоръки за най-добри практики вероятно ще се появят, тъй като все повече експерти се задълбочават в детайлите на React2Shell и неговите варианти.

В крайна сметка, този епизод подчертава, че Поддържането на сигурността на съвременните уеб стекове е непрекъснат процес, а не еднократна задача за настройка. С развитието на рамките се развиват и потенциалните им повърхности за атаки, а организациите, които се адаптират бързо, са склонни да се справят по-добре, когато се появят критични недостатъци.

За всеки екип, който разчита на React или Next.js в продукцията, CVE-2025-55182 служи като ясен сигнал: третирайте функциите от страна на сървъра със същата строгост за сигурност, както всяка друга критична инфраструктура, следете предупрежденията нагоре по течението и бъдете готови да действате бързо, когато възникнат проблеми с това ниво на въздействие.

Това отразяване се основава на информация, публикувана първоначално от издания, фокусирани върху киберсигурността, и препоръки на доставчици, като се подчертава как React2Shell бързо премина от частен доклад към спешен приоритет за организации в мрежата.

аудитория за сигурност npm
Свързана статия:
Подробно ръководство за одит на сигурността на NPM и атаки срещу веригата за доставки
Подобни публикации: