CVE-2025-55182 og CVE-2025-66478: Kritisk RCE i React Server-komponenter og Next.js

Sidste ændring: 12/04/2025
Forfatter: C SourceTrail
  • CVE-2025-55182 og CVE-2025-66478 muliggør uautoriseret fjernudførelse af kode via React Server Components Flight-protokollen.
  • Fejlen ligger i usikker deserialisering af RSC-nyttelast i react-server implementering, hvilket påvirker standardkonfigurationer.
  • Next.js og andre RSC-baserede frameworks arver problemet, hvilket sætter en stor del af cloud-hostede apps i fare.
  • Leverandører har udgivet forstærkede opdateringer; opgradering af React, Next.js og andre RSC-frameworks er den eneste pålidelige afhjælpning.

Sikkerhedssårbarhed i React og Next.js

Opdagelsen af CVE-2025-55182 i React og dets ledsager CVE-2025-66478 i Next.js har sendt et klart varselsskud gennem den moderne webudviklingsverden. Disse problemer udsætter servere, der bruger React Server Components (RSC) og frameworks, der implementerer RSC "Flight"-protokollen, for uautoriseret fjernudførelse af kode, selv når de kører med en fuldstændig standard, standardkonfiguration.

Det, der gør denne situation særligt bekymrende, er, hvordan en angriber kræver kun lidt indsats at udnytte fejlen som et våben: en udformet HTTP-anmodning rettet mod et sårbart endpoint kan være nok til at køre vilkårlig kode på serveren. Med en stor andel af cloud-miljøer, der er afhængige af React og Next.js, er det svært at overvurdere, hvor vigtigt det er for administratorer og udviklere at få patches.

Forståelse af CVE-2025-55182 og CVE-2025-66478

ataque Shai-Hulud a la cadena de suministro de npm
relateret artikel:
Shai-Hulud: el ataque que sacude la cadena de suministro de npm

CVE-2025-55182 refererer til kerne-fejlen i react-server pakke, komponenten der understøtter React Server Components og deres "Flight"-protokol. Denne pakke er ansvarlig for at håndtere de specialiserede nyttelaster, der bruges, når server-renderede komponenter streames til klienten, en mekanisme der er central for det nye React 19-økosystem.

Parallelt, CVE-2025-66478 registrerer effekten på Next.js, som integrerer React Server Components og genbruger den samme underliggende protokol. Fordi Next.js bygger direkte oven på denne RSC-infrastruktur, nedarves enhver svaghed i protokollen øjeblikkeligt af typiske Next.js-applikationer, inklusive dem, der bootstrappes med værktøjer som create-next-app.

Begge identifikatorer beskriver kritiske, uautoriserede sårbarheder i forbindelse med fjernudførelse af kodeSikkerhedsteams har vurderet dem med maksimale alvorlighedsscorer, hvilket ikke kun afspejler deres tekniske indvirkning, men også det faktum, at udnyttelse er mulig i virkelige implementeringsscenarier uden komplekse forudsætninger.

Forskere har også bemærket, at den påvirkede adfærd er aktiveret som standard i mange konfigurationer. Det betyder, at applikationer ikke behøver at bruge usædvanlige mønstre eller tilføje risikable muligheder for at blive eksponeret; blot at anvende nuværende RSC-baserede stakke kan være nok til at arve sårbarheden.

Bag kulisserne stammer problemet fra den måde, RSC-nyttelast accepteres og behandles af server-side-logikken. I stedet for grundigt at validere og begrænse upålidelig input, tillader deserialiseringsprocessen angriberkontrollerede data at forme udførelsesstier på serveren.

Sikkerhedsproblem med React Server Components

Hvordan Flight-protokollen bliver en vej til RCE

Den grundlæggende årsag bag CVE-2025-55182 i React Server-komponenter er en logisk deserialiseringsfejl i håndteringen af ​​RSC's "Flight"-protokol. RSC bruger et specialiseret wire-format til at beskrive komponenttræer, props og serverhandlinger, som serveren koder, og klienten afkoder som en del af renderingen.

Når en server modtager en ondsindet dannet Flight-nyttelast, bør den behandle alle disse data som ikke-tillidsfulde. I stedet behandler den sårbare implementering dette input på en måde, der effektivt tillader det at påvirke privilegeret serversideadfærd. Det usikre deserialiseringstrin bliver broen mellem fjendtlige data og JavaScript-kode, der kører med fulde serverrettigheder.

Sikkerhedsforskere beskriver denne type problem som usikker deserialiseringApplikationen tager komplekse inputstrukturer, rekonstruerer objekter eller udførelsesflows fra dem og undlader at placere stærke sikkerhedsforanstaltninger omkring, hvad disse rekonstruerede objekter har tilladelse til at gøre. I dette tilfælde åbner det døren for en angriber, der styrer udførelsen mod vilkårlige kodestier.

Under testen rapporterede forskerholdene næsten perfekt pålidelighed ved forsøg på udnyttelseProof-of-concept-angreb, selvom de ikke er fuldt ud afsløret for at begrænse opportunistisk misbrug, har vist sig at opnå fjernudførelse af kode med en succesrate tæt på 100%. Det eneste praktiske krav er evnen til at levere en udformet HTTP-anmodning til et eksponeret RSC-slutpunkt.

Angrebet er derfor fjerntliggende og uautoriseretDer kræves ingen gyldig session, ingen lækket token og ingen forudgående adgang. En offentligt tilgængelig Next.js eller anden RSC-baseret app, der ikke er blevet opdateret, kan undersøges og, hvis den er sårbar, kompromitteres.

Hvem og hvad er berørt

Fordi sårbarheden er forankret i kerneimplementering af react-server, dens indflydelse strækker sig ud over selve React og Next.js til ethvert framework, der bundter eller integrerer RSC på en lignende måde. Dette har gjort omfanget af potentiel eksponering betydeligt bredere end et enkelt bibliotek eller leverandørvedligeholdt produkt.

Offentlige analyser har fremhævet Next.js som det mest fremtrædende downstream-mål, givet dens popularitet og dybe RSC-integration. Data indsamlet af Wiz Research viser, at en betydelig andel af cloud-miljøer kører React- eller Next.js-versioner, der falder inden for det sårbare område, hvilket sætter en betydelig del af internettets serversidede renderingsinfrastruktur i fare.

Skøn fra disse vurderinger tyder på, at omkring 39%-40% af cloudmiljøer indeholde mindst én instans af React eller Next.js, der er påvirket af disse CVE'er. Next.js selv optræder i størstedelen af ​​disse miljøer og driver i mange tilfælde offentligt tilgængelige applikationer, der er direkte eksponeret på internettet.

Ud over Next.js, ethvert framework eller værktøj, der integrerer react-server-pakken eller på anden måde understøtter RSC, er potentielt eksponeret. Eksempler, der er blevet markeret, inkluderer:

  • Next.js, i sine RSC-aktiverede versioner.
  • Vite RSC-plugins der yder support til serverkomponenter.
  • Parcel RSC-plugins med integrerede React Server-komponenter.
  • React Router RSC-forhåndsvisninger eller eksperimentelle udgivelser.
  • Redwood SDK implementeringer ved hjælp af RSC-funktioner.
  • Waku og lignende nye RSC-drevne rammer.

Leverandører af cloudplatforme er begyndt at præcisere eksplosionsradiusen fra deres perspektiv. For eksempel, Google har indikeret, at standard offentlige OS-billeder på Google Cloud For Compute Engine leveres de ikke som standard med sårbare RSC-stakke. Når brugerne først har implementeret deres egne React- eller Next.js-apps oven på disse billeder, ligger ansvaret for at opdatere dem.

Sårbarhed i forbindelse med fjernudførelse af kode i Next.js

Hvorfor risikoen anses for at være ekstrem

Flere egenskaber kombineres for at skabe CVE-2025-55182 og CVE-2025-66478 Især bekymrende for forsvarere. For det første er angrebsfladen vævet ind i, hvordan RSC kommunikerer over netværket, så den kan nås via almindelig HTTP-trafik i mange opsætninger. Servere behøver ikke eksotiske funktioner aktiveret for at være tilgængelige; en standardinstallation er nok.

Sekund, Standardkonfigurationen er sårbar for typiske apps, der bruger den berørte RSC-protokol. Udviklere, der har benyttet sig af anbefalede, færdiglavede værktøjer og bedste praksis, kan ubevidst have installeret sårbare applikationer uden at tilpasse noget som helst.

For det tredje er virkningen af ​​et vellykket udnyttelse omtrent så alvorlig, som den kan blive: fuld fjernudførelse af kode på serverenNår en angriber når dette niveau, kan de normalt køre vilkårlige kommandoer, trænge dybere ind i miljøet, stjæle data eller manipulere med applikationslogik. I cloud-native miljøer, hvor tjenester er tæt integreret, kan det hurtigt udvikle sig til et større kompromis.

Sikkerhedsforskere har også udtrykt bekymring over, at nu hvor Programrettelser og meddelelser er offentlige, er det kun et spørgsmål om tid, før modstandere reverse engineere ændringerne for at bygge deres egne exploits, som diskuteret i vejledninger om npm-sikkerhed.

Endelig den rene allestedsnærværelse af React og Next.js i produktionsmiljøer forstærker risikoen. React er et af de mest anvendte JavaScript-biblioteker til at bygge grænseflader, og Next.js er blevet et go-to framework til server-renderede og hybride apps. En fejl i en nichekomponent kunne være forblevet relativt indeholdt; en fejl i RSC berører en stor del af webstakken.

Svar fra leverandører og sikkerhedsteams

Da sårbarheden blev identificeret, gik afsløringsprocessen hurtigt. Sikkerhedsforsker Lachlan Davidson rapporterede fejlen til React-teamet via Metas bug bounty-program i slutningen af ​​november. Denne tidlige notifikation gjorde det muligt for vedligeholdere at studere problemet, forberede forstærkede udgivelser og koordinere vejledning med downstream-frameworks som Next.js.

React-vedligeholderne har siden udgivet opdaterede versioner af React og react-server-pakken der adresserer den usikre deserialiseringsadfærd i Flight-protokollen. Disse forstærkede builds er designet til at håndtere RSC-nyttelast mere sikkert og lukker de kodestier, der tidligere tillod upålidelige data at diktere serversideudførelse.

Vercel og Next.js-teamet har udsendt deres egne meddelelser, der beskriver hvilke versioner der er berørt, og hvordan brugerne skal opdatere. Målet har været at gøre det så nemt som muligt for teams at identificere berørte implementeringer og skifte til opdaterede versioner, herunder for apps oprettet med almindelige værktøjer som f.eks. create-next-app.

På den defensive side, Wiz Research og andre sikkerhedsleverandører har offentliggjort analyser, scanninger og forespørgsler for at hjælpe organisationer med at opdage sårbare instanser på tværs af deres cloud-miljøer. Wiz har for eksempel tilføjet præbyggede forespørgsler og trusselscenter-advarsler til at vise React- og Next.js-installationer, der stadig er afhængige af den mangelfulde RSC-implementering.

Eksperter i incident response-miljøet forbereder sig også på sandsynligheden for, at nogle organisationer vil stå over for forsøg på udnyttelse i den virkelige verdenSikkerhedsfirmaer har opfordret teams, der har mistanke om målrettet aktivitet, der involverer CVE-2025-55182 eller CVE-2025-66478, til at tilkald hurtigt responsspecialister, ideelt set før angriberne kan udbygge deres fodfæste.

Øjeblikkelige skridt for udviklere og operatører

For teams med ansvar for webapplikationer bygget på React Server Components, Opgradering til hærdede versioner er den eneste pålidelige afhjælpningKonfigurationsjusteringer alene vil sandsynligvis ikke helt eliminere risikoen, samtidig med at normal RSC-funktionalitet bevares, fordi fejlen er indlejret i, hvordan selve protokollen behandles.

En praktisk reaktionsplan for organisationer kan det se sådan ud:

  • Optag en inventarliste over alle React- og Next.js-applikationer, herunder interne værktøjer og mindre synlige tjenester, ikke kun flagskibssider rettet mod offentligheden.
  • Identificer hvilke implementeringer der bruger RSC eller er afhængige af versioner af React og Next.js markeret som sårbare af leverandørvejledninger.
  • Opgrader React, react-server og Next.js til de hærdede versioner udgivet af vedligeholderne, i overensstemmelse med deres versionsspecifikke vejledning.
  • Tjek andre RSC-aktiverede frameworks såsom Redwood-, Waku- eller RSC-plugins til Vite og Parcel, og installer opdateringer, så snart vedligeholderne udgiver dem.
  • Gennemgå logføring og telemetri omkring RSC-slutpunkter for usædvanlige, misdannede eller mistænkelige anmodninger, der kan indikere forsøg på undersøgelse eller udnyttelse.

Organisationer, der bruger cloud-sikkerhedsværktøjer, kan også udnytte leverandørleveret detektionsindhold for at fremskynde denne proces. For eksempel kan forespørgsler leveret af Wiz hjælpe med at finde sårbare pakker og frameworks på tværs af multi-cloud-implementeringer, hvilket reducerer risikoen for, at en overset tjeneste forbliver eksponeret.

Hvor det er muligt, kan holdene også overveje midlertidig begrænsning af eksponering af RSC-endepunkter bag yderligere lag af adgangskontrol, hastighedsbegrænsning eller applikationsfirewalls, mens der rulles patches ud. Disse foranstaltninger er midlertidige snarere end komplette rettelser, men de kan hjælpe med at reducere angribernes muligheder.

Som med enhver højprofileret RCE, stramning overvågning omkring kritiske aktiver er lige så vigtigt. Advarsler om uregelmæssigheder i procesoprettelse, udgående netværksforbindelser fra applikationsservere og uventede konfigurationsændringer kan hjælpe med at opdage vellykket udnyttelse tidligt.

Langsigtede konsekvenser for webøkosystemet

Fremkomsten af CVE-2025-55182 i React og CVE-2025-66478 i Next.js fører også til en bredere diskussion om, hvordan nye webplatformfunktioner designes og udrulles. Serverside-rendering og serverkomponenter lover fordele for ydeevne og udvikleroplevelse, men de koncentrerer også en masse kraft og kompleksitet i et relativt lille sæt protokoller og biblioteker.

En lærdom fra denne hændelse er, at Serialiserings- og deserialiseringslag kræver særlig granskningEnhver mekanisme, der rekonstruerer komplekse objekter eller fortolker strukturerede nyttelast fra upålidelige kilder, er en kandidat til alvorlige fejl, hvis valideringen er ufuldstændig. Efterhånden som flere frameworks anvender mønstre, der ligner RSC, vil kodegranskere og sikkerhedsrevisorer sandsynligvis fokusere endnu mere på disse grænser.

Omfanget af den potentielle påvirkning har også fremhævet, hvordan Open source-økosystemer er afhængige af hurtige, koordinerede reaktioner når kritiske fejl opstår. React, Next.js, cloududbydere og sikkerhedsleverandører skulle alle hurtigt tilpasse sig for at udgive programrettelser, dokumentation og detektionsværktøjer. Denne koordinering kan forkorte tiden mellem afsløring og afhjælpning betydeligt og reducere den samlede skade.

Samtidig understreger hændelsen, hvordan Standardindstillinger kan nemt forme den virkelige risikoNår en effektiv funktion er aktiveret som standard og bredt anvendt, bliver enhver svaghed i den funktion et systemisk problem næsten natten over. Fremtidige framework-designs kan lægge mere vægt på sikker standardadfærd, tilvalg af avancerede funktioner eller tydeligere sikkerhedsafvejninger.

Endelig vil udviklingsteams sandsynligvis genoverveje deres egne trusselsmodellering for serverdrevne funktionerSelv i miljøer, der tidligere føltes velbeskyttede, vil muligheden for, at uautoriserede anmodninger kan påvirke renderingsstier på serversiden, presse sikkerhedsteams til at udfordre gamle antagelser og investere i mere robust testning.

I takt med at samfundet fortsætter med at fordøje disse sårbarheder, tager organisationer, der tager hurtig handling at opdatere, overvåge og revurdere deres RSC-brug vil være i en stærkere position. At adressere CVE-2025-55182 og CVE-2025-66478 handler ikke kun om at rette én fejl; det er en påmindelse om, hvor sammenkoblede moderne webstacks er, og hvor afgørende det er at holde nøje øje med de fundamenter, de er afhængige af.

Relaterede indlæg: