- Luki CVE-2025-55182 i CVE-2025-66478 umożliwiają zdalne wykonywanie kodu bez uwierzytelniania za pośrednictwem protokołu React Server Components Flight.
- Wada polega na niezabezpieczonej deserializacji ładunków RSC w
react-serverimplementacja, wpływająca na domyślne konfiguracje. - Next.js i inne struktury oparte na RSC dziedziczą ten problem, narażając na ryzyko dużą część aplikacji hostowanych w chmurze.
- Dostawcy udostępnili aktualizacje zwiększające bezpieczeństwo; jedyną skuteczną ochroną jest aktualizacja React, Next.js i innych frameworków RSC.

Odkrycie CVE-2025-55182 w React i jego towarzysz CVE-2025-66478 w Next.js wysłał jasny sygnał ostrzegawczy do współczesnego świata tworzenia stron internetowych. Problemy te narażają serwery korzystające z komponentów React Server Components (RSC) i frameworków implementujących protokół RSC „Flight” na nieuwierzytelnione zdalne wykonywanie kodu, nawet w przypadku działania w całkowicie standardowej, gotowej konfiguracji.
To, co sprawia, że ta sytuacja jest szczególnie niepokojąca, to fakt, że niewielki wysiłek, jakiego potrzebuje atakujący aby wykorzystać lukę: spreparowane żądanie HTTP skierowane do podatnego punktu końcowego może wystarczyć do uruchomienia dowolnego kodu na serwerze. Biorąc pod uwagę, że duża część środowisk chmurowych opiera się na React i Next.js, pilna potrzeba łatania luk przez administratorów i programistów jest trudna do przecenienia.
Zrozumienie CVE-2025-55182 i CVE-2025-66478
CVE-2025-55182 odnosi się do podstawowego błędu react-server Pakiet, komponent stanowiący podstawę komponentów React Server i ich protokołu „Flight”. Ten pakiet odpowiada za obsługę specjalistycznych ładunków używanych podczas strumieniowego przesyłania komponentów renderowanych przez serwer do klienta – mechanizmu kluczowego dla nowego ekosystemu React 19.
Równolegle, CVE-2025-66478 rejestruje wpływ na Next.js, który integruje komponenty React Server i ponownie wykorzystuje ten sam protokół bazowy. Ponieważ Next.js bazuje bezpośrednio na infrastrukturze RSC, wszelkie słabości protokołu są natychmiast dziedziczone przez typowe aplikacje Next.js, w tym te zbudowane przy użyciu narzędzi takich jak create-next-app.
Oba identyfikatory opisują krytyczne, nieuwierzytelnione luki w zabezpieczeniach umożliwiające zdalne wykonanie koduZespoły ds. bezpieczeństwa przyznały im najwyższe noty za powagę, co odzwierciedla nie tylko ich wpływ na kwestie techniczne, ale także fakt, że wykorzystanie luk jest możliwe w rzeczywistych scenariuszach wdrożenia bez konieczności spełnienia skomplikowanych warunków wstępnych.
Naukowcy zauważyli również, że dotknięte zachowanie jest włączone domyślnie w wielu konfiguracjach. Oznacza to, że aplikacje nie muszą używać żadnych nietypowych wzorców ani dodawać ryzykownych opcji, aby zostać narażone; samo przyjęcie obecnych stosów opartych na RSC może wystarczyć, aby odziedziczyć lukę.
Za kulisami problem wynika ze sposobu, w jaki Ładunki RSC są akceptowane i przetwarzane logiką po stronie serwera. Zamiast dokładnego weryfikowania i ograniczania niezaufanych danych wejściowych, proces deserializacji pozwala atakującemu kontrolować dane i kształtować ścieżki wykonywania na serwerze.
W jaki sposób protokół lotu staje się ścieżką do RCE
Podstawowa przyczyna CVE-2025-55182 w komponentach React Server to błąd logicznej deserializacji w obsłudze protokołu RSC „Flight”. RSC używa specjalistycznego formatu przewodowego do opisu drzew komponentów, rekwizytów i akcji serwera, które serwer koduje, a klient dekoduje w ramach renderowania.
Gdy serwer otrzymuje złośliwie uformowany ładunek lotniczyPowinien traktować każdy element tych danych jako niezaufany. Zamiast tego, podatna na ataki implementacja przetwarza te dane wejściowe w sposób, który skutecznie pozwala im wpływać na uprzywilejowane zachowanie po stronie serwera. Niebezpieczny etap deserializacji staje się pomostem między wrogimi danymi a kodem JavaScript działającym z pełnymi uprawnieniami serwera.
Badacze bezpieczeństwa opisują tę klasę problemów jako niebezpieczna deserializacja: aplikacja przyjmuje złożone struktury wejściowe, rekonstruuje na ich podstawie obiekty lub przepływy wykonania i nie stosuje silnych zabezpieczeń dotyczących uprawnień tych rekonstruowanych obiektów. W takim przypadku otwiera to drogę atakującemu do sterowania wykonywaniem kodu w kierunku dowolnych ścieżek.
Podczas testów zespoły badawcze zgłosiły niemal idealna niezawodność podczas prób eksploatacjiAtaki typu proof-of-concept, choć nie w pełni ujawnione w celu ograniczenia oportunistycznych nadużyć, wykazały, że umożliwiają zdalne wykonanie kodu ze skutecznością bliską 100%. Jedynym praktycznym wymogiem jest możliwość dostarczenia spreparowanego żądania HTTP do narażonego punktu końcowego RSC.
Atak jest zatem zdalny i nieuwierzytelniony: nie jest wymagana żadna ważna sesja, żaden wyciekły token ani wcześniejszy dostęp. Publiczna aplikacja Next.js lub inna oparta na RSC, która nie została zaktualizowana, może zostać zbadana i, jeśli będzie podatna na ataki, skompromitowana.
Kogo i czego to dotyczy
Ponieważ podatność ma swoje korzenie w podstawowa implementacja serwera ReactJego wpływ wykracza poza sam React i Next.js, obejmując każdy framework, który w podobny sposób łączy lub integruje RSC. To znacznie poszerza zakres potencjalnego narażenia na ataki w porównaniu z pojedynczą biblioteką lub produktem utrzymywanym przez dostawcę.
Analizy publiczne podkreśliły Next.js jako najpopularniejszy cel downstream, biorąc pod uwagę jego popularność i głęboką integrację z RSC. Dane zebrane przez Wiz Research wskazują, że znaczna część środowisk chmurowych korzysta z wersji React lub Next.js, które mieszczą się w zakresie podatności, co naraża na ryzyko znaczną część infrastruktury renderowania po stronie serwera w sieci.
Szacunki z tych ocen sugerują, że około 39%–40% środowisk chmurowych Zawierają co najmniej jedno wystąpienie React lub Next.js, którego dotyczą te luki CVE. Sam Next.js pojawia się w większości tych środowisk i w wielu przypadkach służy do obsługi publicznie dostępnych aplikacji dostępnych bezpośrednio w internecie.
Poza Next.js, dowolne ramy lub narzędzie, które osadza pakiet react-server lub w inny sposób obsługuje RSC, co jest potencjalnie narażone. Przykłady oznaczeń obejmują:
- Next.js, w wersjach obsługujących RSC.
- Wtyczki Vite RSC które zapewniają wsparcie komponentów serwerowych.
- Wtyczki Parcel RSC ze zintegrowanymi komponentami React Server.
- Zapowiedzi React Router RSC lub wydania eksperymentalne.
- RedwoodSDK implementacje wykorzystujące funkcje RSC.
- waku i podobne powstające ramy oparte na RSC.
Dostawcy platform chmurowych zaczęli doprecyzować promień rażenia ze swojej perspektywy. Na przykład, Google wskazało, że standardowe publiczne obrazy systemu operacyjnego w Google Cloud Systemy Compute Engine domyślnie nie są dostarczane z podatnymi na ataki stosami RSC. Jednak po wdrożeniu przez użytkowników własnych aplikacji React lub Next.js na tych obrazach, odpowiedzialność za wprowadzenie poprawek spoczywa na nich samych.

Dlaczego ryzyko uważa się za ekstremalne
Połączenie kilku cech sprawia, że CVE-2025-55182 i CVE-2025-66478 Szczególnie niepokojące dla obrońców. Po pierwsze, powierzchnia ataku jest wpleciona w sposób, w jaki RSC komunikuje się w sieci, dzięki czemu w wielu konfiguracjach można do niej dotrzeć za pośrednictwem zwykłego ruchu HTTP. Serwery nie potrzebują włączonych egzotycznych funkcji, aby być osiągalne; wystarczy standardowe wdrożenie.
Po drugie, domyślna konfiguracja jest podatna na ataki dla typowych aplikacji korzystających z protokołu RSC, którego dotyczy problem. Programiści, którzy polegali na zalecanych, gotowych narzędziach i najlepszych praktykach, mogli nieświadomie wdrażać podatne aplikacje bez żadnych modyfikacji.
Po trzecie, skutki udanego wykorzystania luki są tak dotkliwe, jak to tylko możliwe: pełne zdalne wykonywanie kodu na serwerzeGdy atakujący osiągnie ten poziom, zazwyczaj może uruchamiać dowolne polecenia, wnikać głębiej w środowisko, wykradać dane lub manipulować logiką aplikacji. W środowiskach chmurowych, gdzie usługi są ściśle zintegrowane, może to szybko przerodzić się w szerszy atak.
Badacze ds. bezpieczeństwa wyrazili również obawy, że teraz, gdy poprawki i ostrzeżenia są publiczneto tylko kwestia czasu, zanim przeciwnicy dokonają inżynierii wstecznej zmian, aby stworzyć własne exploity, jak omówiono w przewodniki dotyczące bezpieczeństwa npm.
Wreszcie, wszechobecność React i Next.js w środowiskach produkcyjnych zwiększa ryzyko. React jest jedną z najpopularniejszych bibliotek JavaScript do tworzenia interfejsów, a Next.js stał się frameworkiem dla aplikacji renderowanych po stronie serwera i aplikacji hybrydowych. Błąd w niszowym komponencie mógł pozostać stosunkowo ograniczony; błąd w RSC dotyczy ogromnej części stosu webowego.
Odpowiedź dostawców i zespołów ds. bezpieczeństwa
Po zidentyfikowaniu luki w zabezpieczeniach proces jej ujawniania przebiegał szybko. Badacz ds. bezpieczeństwa Lachlan Davidson zgłosił lukę Zespół React został powiadomiony pod koniec listopada za pośrednictwem programu Bug Bounty Meta. To wczesne powiadomienie pozwoliło opiekunom zbadać problem, przygotować ulepszone wersje i skoordynować działania z frameworkami niższego rzędu, takimi jak Next.js.
Od tego czasu osoby odpowiedzialne za utrzymanie Reacta wydano zaktualizowane wersje React i pakietu react-server które rozwiązują problem niebezpiecznego deserializacji w protokole Flight. Te wzmocnione kompilacje zostały zaprojektowane z myślą o bezpieczniejszej obsłudze ładunków RSC, zamykając ścieżki kodu, które wcześniej pozwalały niezaufanym danym na dyktowanie wykonywania kodu po stronie serwera.
Vercel i Zespół Next.js wydał własne ostrzeżenia, szczegółowo opisując, których wersji dotyczy problem i jak użytkownicy powinni go aktualizować. Celem było maksymalne ułatwienie zespołom identyfikacji dotkniętych wdrożeń i przejścia na zaktualizowane wersje, w tym w przypadku aplikacji utworzonych przy użyciu popularnych narzędzi, takich jak create-next-app.
Po stronie defensywnej, Wiz Research i inni dostawcy rozwiązań zabezpieczających Opublikowano analizy, skany i zapytania, aby pomóc organizacjom wykrywać podatne na ataki instancje w ich środowiskach chmurowych. Na przykład Wiz dodał predefiniowane zapytania i ostrzeżenia dotyczące centrum zagrożeń do instalacji React i Next.js, które nadal opierają się na wadliwej implementacji RSC.
Eksperci ze społeczności zajmującej się reagowaniem na incydenty przygotowują się również na prawdopodobieństwo, że niektóre organizacje będą musiały stawić czoła próby eksploatacji w świecie rzeczywistymFirmy zajmujące się bezpieczeństwem zachęcają zespoły podejrzewające ukierunkowaną aktywność związaną z CVE-2025-55182 lub CVE-2025-66478 do szybko zaangażuj specjalistów ds. reagowania, najlepiej zanim atakujący zdołają umocnić swoją pozycję.
Natychmiastowe kroki dla deweloperów i operatorów
Dla zespołów odpowiedzialnych za aplikacje internetowe zbudowane na komponentach React Server, jedyną niezawodną metodą łagodzenia tego problemu jest aktualizacja do wersji wzmocnionychSame zmiany w konfiguracji raczej nie wyeliminują całkowicie ryzyka przy jednoczesnym zachowaniu normalnej funkcjonalności RSC, ponieważ wada ta jest osadzona w sposobie przetwarzania samego protokołu.
Praktyczny plan odpowiedzi dla organizacji może wyglądać następująco:
- Inwentaryzacja wszystkich aplikacji React i Next.js, w tym narzędzia wewnętrzne i usługi mniej widoczne, a nie tylko główne witryny dostępne publicznie.
- Określ, które wdrożenia korzystają z RSC lub polegają na wersjach React i Next.js zostały oznaczone jako podatne na ataki przez dostawców.
- Zaktualizuj React, react-server i Next.js do ulepszonych wersji udostępnianych przez osoby je utrzymujące, zgodnie z ich wytycznymi dotyczącymi konkretnej wersji.
- Sprawdź inne frameworki obsługujące RSC takie jak wtyczki Redwood, Waku lub RSC dla Vite i Parcel, a następnie instaluj aktualizacje natychmiast po ich wydaniu przez opiekunów.
- Przegląd rejestrowania i telemetrii wokół punktów końcowych RSC w poszukiwaniu nietypowych, błędnych lub podejrzanych żądań, które mogą wskazywać na próby sondowania lub wykorzystania luk w zabezpieczeniach.
Organizacje korzystające z narzędzi zapewniających bezpieczeństwo w chmurze mogą również wykorzystaj dostarczoną przez dostawcę treść detekcyjną Aby przyspieszyć ten proces. Na przykład zapytania dostarczane przez Wiz mogą pomóc w lokalizowaniu podatnych pakietów i struktur w środowiskach wielochmurowych, zmniejszając ryzyko, że przeoczona usługa pozostanie narażona na ataki.
W miarę możliwości zespoły mogą również rozważyć tymczasowe ograniczenie ekspozycji punktów końcowych RSC za dodatkowymi warstwami kontroli dostępu, ograniczania przepustowości lub zapór sieciowych aplikacji podczas wdrażania poprawek. Te środki są raczej doraźne niż kompletne, ale mogą pomóc ograniczyć ryzyko ataku.
Jak w przypadku każdego ważnego RCE, zaostrzenie monitorowanie krytycznych zasobów Równie ważne jest powiadamianie o anomaliach w tworzeniu procesów, połączeniach sieciowych wychodzących z serwerów aplikacji i nieoczekiwanych zmianach konfiguracji, co może pomóc we wczesnym wykryciu udanej eksploatacji.
Długoterminowe konsekwencje dla ekosystemu internetowego
W razie CVE-2025-55182 w React i CVE-2025-66478 w Next.js Wywołuje to również szerszą dyskusję na temat sposobu projektowania i wdrażania nowych funkcji platformy internetowej. Renderowanie po stronie serwera i komponenty serwerowe obiecują korzyści w zakresie wydajności i komfortu pracy programistów, ale jednocześnie koncentrują dużą moc i złożoność w stosunkowo niewielkim zestawie protokołów i bibliotek.
Jedną z lekcji, jaką można wyciągnąć z tego incydentu, jest to, że warstwy serializacji i deserializacji wymagają szczególnej kontroliKażdy mechanizm rekonstruujący złożone obiekty lub interpretujący ustrukturyzowane ładunki z niezaufanych źródeł jest kandydatem na poważne błędy, jeśli walidacja jest niekompletna. W miarę jak coraz więcej frameworków przyjmuje wzorce podobne do RSC, recenzenci kodu i audytorzy bezpieczeństwa prawdopodobnie będą jeszcze bardziej koncentrować się na tych granicach.
Skala potencjalnego wpływu uwydatniła również, jak ekosystemy open source zależą od szybkich i skoordynowanych reakcji gdy pojawią się krytyczne luki. React, Next.js, dostawcy usług chmurowych i dostawcy zabezpieczeń musieli szybko się zjednoczyć, aby opublikować poprawki, dokumentację i narzędzia do wykrywania. Taka koordynacja może znacznie skrócić czas między ujawnieniem luk a ich naprawą, zmniejszając tym samym skalę szkód.
Jednocześnie incydent ten podkreśla, jak łatwe ustawienia domyślne mogą kształtować ryzyko w świecie rzeczywistymGdy potężna funkcja jest domyślnie włączona i powszechnie stosowana, każda jej słabość staje się problemem systemowym niemal z dnia na dzień. Przyszłe projekty frameworków mogą kłaść większy nacisk na zachowania bezpieczeństwa domyślnego, zaawansowane funkcje opcjonalne lub wyraźniejsze kompromisy w zakresie bezpieczeństwa.
W końcu zespoły programistyczne prawdopodobnie ponownie przeanalizują swoje własne modelowanie zagrożeń dla funkcji sterowanych przez serwerNawet w środowiskach, które wcześniej wydawały się dobrze chronione, możliwość wpływania nieuwierzytelnionych żądań na ścieżki renderowania po stronie serwera zmusi zespoły ds. bezpieczeństwa do zakwestionowania długo utrzymywanych założeń i zainwestowania w bardziej solidne testy.
W miarę jak społeczność nadal zmaga się z tymi lukami, organizacje, które je podejmują, szybkie działanie Aby móc łatać, monitorować i ponownie oceniać wykorzystanie RSC, będą miały silniejszą pozycję. Zajęcie się lukami CVE-2025-55182 i CVE-2025-66478 nie polega tylko na naprawie jednego błędu; to przypomnienie, jak bardzo połączone są współczesne stosy internetowe i jak ważne jest uważne monitorowanie fundamentów, na których się opierają.
