CVE-2025-55182 v Reacte a CVE-2025-66478 v Next.js: čo kritická chyba RCE skutočne znamená pre web

Posledná aktualizácia: 12/04/2025
  • CVE-2025-55182 v Reacte a CVE-2025-66478 v Next.js umožňujú neoverené vzdialené spustenie kódu prostredníctvom protokolu React Server Components Flight.
  • Chyba pramení z nebezpečnej deserializácie dát RSC, pričom predvolené konfigurácie React a Next.js zostávajú odhalené bez akýchkoľvek zmien vlastného kódu.
  • Bezpečnostní výskumníci hlásia takmer 100 % spoľahlivosť zneužitia a varujú, že hromadné útoky sú pravdepodobné, keďže sa analyzujú záplaty.
  • Okamžité aktualizácie na zosilnené verzie React a Next.js sú jediným definitívnym riešením, najmä v cloudových prostrediach, kde môže byť zraniteľných až ~40 %.

Bezpečnostná zraniteľnosť v Reacte a Next.js

Zverejnenie CVE-2025-55182 v Reacte a jeho dvojitý problém CVE-2025-66478 v Next.js upriamil pozornosť na to, aké krehké môžu byť serverové JavaScriptové balíčky, keď sa pokazia nízkoúrovňové protokoly. Namiesto toho, aby išlo o špecializovanú chybu, ide o maximálnu závažnosť chyby vzdialeného spúšťania kódu, ktorá zasahuje jadro komponentov React Server a... Letový protokol na tom ticho závisí mnoho moderných aplikácií.

Čo robí tento prípad obzvlášť znepokojujúcim, je to, že sú zobrazené predvolené nastaveniaJednoduchá aplikácia Next.js vygenerovaná pomocou create-next-app, vytvorený pre produkčné prostredie a nasadený bez akýchkoľvek nezvyčajných možností, môže byť napadnutý neoverenou HTTP požiadavkou. Žiadna zložitá chybná konfigurácia, žiadny exotický plugin – len štandardný balík, ktorý mnoho tímov denne zavádza.

Ako boli odhalené CVE-2025-55182 a CVE-2025-66478

Koreň problému spočíva v implementácia react-servera, ktorá poháňa komponenty React Servera (RSC)Tento balík je základom protokolu Flight, ktorý sa používa na prenos serializovaných údajov komponentov medzi klientom a serverom. Keď bezpečnostný výskumník Lachlan Davidson nahlásilo podozrivé správanie prostredníctvom programu odmien za chyby spoločnosti Meta koncom novembra, čo vyvolalo rýchlu reakciu tímov React a Meta.

Podľa verejných oznámení bola zraniteľnosť odhalená v stredu a núdzové záplaty boli odoslané do štyroch dníTo je nezvyčajne rýchle riešenie problému, ktorý ovplyvňuje taký rozsiahly ekosystém, a podčiarkuje to, aká závažná je táto chyba: Správcovia Reactu ho ohodnotili známkou CVSS skóre 10.0, maximálne možné.

Paralelne, Vercel — spoločnosť stojaca za Next.js — analyzoval, ako tá istá základná chyba ovplyvnila jeho framework. Keďže Next.js používa na serveri rovnaký protokol RSC Flight, zdedil slabinu a bol mu pridelený vlastný identifikátor, CVE-2025 66478,Spoločnosť Vercel vydala upozornenie a záplaty v ten istý deň ako upozornenie React s cieľom čo najviac skrátiť časový úsek pre útočníkov.

Napriek rýchlej reakcii, Dodávatelia bezpečnostných riešení a výskumníci začali varovať, že útočníci pravdepodobne spätne analyzujú opravy. veľmi rýchlo, ako je vidieť na útoky dodávateľského reťazca proti NPMKeď je opravený kód verejne dostupný, je oveľa jednoduchšie odvodiť, kde sa chyba nachádzala, a vytvoriť funkčné exploity.

Čo presne sa deje zle v protokole React Flight?

Na technickej úrovni sa CVE-2025-55182 aj CVE-2025-66478 v podstate redukujú na nebezpečná deserializácia údajov kontrolovaných útočníkom v rámci protokolu Flight. Komponenty servera React odosielajú a prijímajú štruktúrované užitočné zaťaženia, ktoré server potom dekóduje a používa na riadenie toku vykonávania.

Zraniteľná logika v react-server balíček nedokázal prísne overiť štruktúru a obsah prichádzajúcich údajov RSCOdoslaním zámerne chybne naformovaného, ​​ale starostlivo vytvoreného užitočného zaťaženia Flight do koncového bodu funkcie React Server môže útočník ovplyvniť, čo server urobí pri deserializácii týchto dát. Namiesto jednoduchej rekonštrukcie benígneho stavu komponentu môže byť kódová cesta nasmerovaná na vykonávanie. privilegovaný JavaScript na serveri.

Pretože chyba ovplyvňuje spôsob dekódovania protokolu, nie je potrebné žiadne overenieVzdialenému útočníkovi stačí, ak bude schopný odosielať HTTP požiadavky na akýkoľvek dosiahnuteľný RSC alebo koncový bod serverovej funkcie. Vďaka tomu sa zraniteľnosť mení na jednoduchý, neoverený vektor RCE: odošle sa vytvorená požiadavka, čaká sa na nebezpečnú deserializáciu a užitočné zaťaženie sa môže nakoniec spustiť na backende.

Výskumníci z Wiz, ktorí nezávisle analyzovali tento problém, ho opisujú ako zraniteľnosť logickej deserializácie a nie jednoduchú chybu pri analýze. Pri ich testovaní dosiahli plne funkčný exploit na overenie konceptu takmer 100 % spoľahlivosť pri spúšťaní vykonávania kódu na zraniteľných cieľoch.

Prečo sú predvolené nasadenia Reactu a Next.js ohrozené

Jedným z najznepokojujúcejších aspektov týchto CVE je, že ovplyvňujú konfigurácie hneď po vybaleníPre mnohé bezpečnostné problémy si zneužitie vyžaduje špecifický príznak funkcie, zriedka používaný doplnok alebo neštandardný režim nasadenia. V tomto prípade to tak nie je.

Komponenty React Servera a ich protokol Flight sa stali neoddeliteľnou súčasťou moderných architektúr React 19 a Next.js. V dôsledku toho, štandardná produkčná zostava vygenerovaná create-next-app dá sa zneužiť bez nutnosti napísania ďalšieho kódu od vývojára aplikácie. Útočník nemusí hádať vlastné trasy ani obchodnú logiku; stačí zneužitie generických koncových bodov RSC.

Chyba sa neobmedzuje len na samotný Next.js. Akýkoľvek framework alebo nástroj, ktorý zväzuje alebo preimplementuje protokol RSC Flight na serveri môžu byť zraniteľné. Verejné upozornenia a bezpečnostné správy poukazujú na niekoľko postihnutých ekosystémov:

  • Next.js, najznámejší rámec ovplyvnený následnými
  • Doplnok Vite RSC (@vitejs/plugin-rsc)
  • Plugin RSC pre balíky (@parcel/rsc)
  • Ukážka RSC pre React Router
  • RedwoodSDK (často označované ako rwsdk)
  • waku a ďalšie reťazce nástrojov s podporou RSC

V samotnom Reacte má chyba vplyv verzie 19.0, 19.1.0, 19.1.1 a 19.2.0 príslušných balíkov. Správcovia uvádzajú, že aktualizácia na verziu 19.0.1, 19.1.2 alebo 19.2.1 poskytuje zosilnené správanie a odstraňuje zraniteľnosť. Next.js má zodpovedajúce opravené verzie, ktoré integrujú opravenú logiku servera React.

Niektorí poskytovatelia infraštruktúry objasnili hranice vplyvu. Napríklad spoločnosť Google uviedla, že Verejné obrazy operačného systému pre Compute Engine nie sú štandardne zraniteľné, keďže nedodávajú React alebo Next.js hotové; riziko vzniká, keď používatelia nasadia postihnuté verzie týchto frameworkov na základné obrazy.

Aký veľký je polomer výbuchu v oblaku?

Rozsah problému vynikne pri pohľade na to, ako široko sa React a Next.js používajú v produkčnom prostredí. React je základom používateľských rozhraní pre hlavné platformy, ako napríklad Facebook, Instagram, Netflix, Airbnb, Shopify, Walmart, Asana a mnoho ďalšíchOkrem toho je nespočetné množstvo menších aplikácií a interných dashboardov vytvorených s rovnakými komponentmi a frameworkmi.

Tímy pre analýzu hrozieb vo Wiz analyzovali telemetriu z cloudových prostredí a zistili, že približne 39 – 40 % cloudových nasadení obsahuje zraniteľné inštancie React alebo Next.js. Len pre Next.js sa framework zobrazuje zhruba 69 % skúmaných prostredía približne v 61 % z týchto verejne dostupných aplikácií beží na ňomKeď tieto percentá spojíte, znamená to, že zhruba 44 % všetkých pozorovaných cloudových prostredí hostí verejne dostupné inštancie Next.js, bez ohľadu na presnú verziu frameworku.

Práve tento prekrývajúci sa kontext medzi popularitou a zraniteľnosťou znepokojuje obrancov. Keď má široko nasadený stack neoverenú chybu RCE s maximálnou závažnosťou a spoľahlivou cestou zneužitia, oportunistické a cielené útoky budú takmer zaručene nasledovaťDokonca aj organizácie, ktoré rýchlo nainštalujú záplaty, môžu čeliť krátkemu obdobiu, v ktorom môžu byť odhalené koncové body preskúmané a ohrozené.

V čase prvých zverejnení, žiadne potvrdené zneužívanie vo voľnej prírode nebolo verejne hlásenéViacerí bezpečnostní výskumníci vrátane expertov z Rapid7 a watchTowr však zdôraznili, že je realistické predpokladať, že útočníci už vykonávajú spätné inžinierstvo záplat, vyhľadávajú neopravené služby a budujú automatizované reťazce útokov.

Čo hovoria výskumníci a dodávatelia o riziku zneužívania

Vyhlásenia bezpečnostnej komunity vykresľujú konzistentný obraz: toto nie je teoretický probléma vstupná bariéra pre útočníkov je nízka. Benjamin Harris, generálny riaditeľ spoločnosti watchTowr, opísal chybu ako veľké riziko pre používateľov jedného z najrozšírenejších webových frameworkov na svete a zdôraznil, že vykorisťovanie si vyžaduje „niekoľko predpokladov“.

Výskumníci z Wiz zopakovali toto hodnotenie po testovaní zraniteľných aj opravených verzií. Ich interné experimenty ukázali, že vytvorené užitočné zaťaženia použité na zneužitie nebezpečnej deserializácie dosiahli takmer 100 % úspešnosť pri spustení úplného vzdialeného spustenia kódu na postihnutých serveroch. Poznamenali tiež, že útok je plne vzdialený a neoverený, riadený výlučne špeciálne zostavenými HTTP požiadavkami.

Z pohľadu Rapid7 sa očakáva, že Technické popisy a exploity na overenie konceptu sa objavia, keď dostatočný počet ľudí analyzuje záplaty.To zase pravdepodobne podnieti širšie skenovanie a pokusy o masové zneužívanie, najmä v cloudových prostrediach s mnohými aplikáciami pripojenými na internet.

Aj mimo komunity predajcov, Médiá z odvetvia označili tieto CVE za riziká, ktoré ohrozujú významnú časť internetu.Správy poukázali nielen na závažnosť problému, ale aj na počet veľkých spotrebiteľských stránok, SaaS platforiem a API backendov, ktoré sa pre svoje frontendy a vykresľovanie na strane servera spoliehajú na React a Next.js.

Kroky na zmiernenie: čo by mali používatelia Reactu a Next.js urobiť teraz

Pre tímy, ktoré používajú React alebo Next.js v produkčnom prostredí, sa pokyny od správcov a výskumníkov zhodujú v jednoduchom bode: Aktualizácia na opravené verzie je jediná definitívna opravaNeexistujú žiadne konfiguračné prepínače ani všeobecné pravidlá WAF, ktoré by dokázali úplne vyriešiť základné nebezpečné správanie deserializácie v protokole Flight.

Tím React odporúča každému na dotknutých pobočkách prechádza na zosilnené verzie 19.0.1, 19.1.2 alebo 19.2.1a uistite sa, že react-server Balík je súčasťou aktualizácie. Pre Next.js spoločnosť Vercel publikovala opravené zostavy, ktoré integrujú opravenú manipuláciu s RSCAdministrátori by sa mali poradiť s oficiálnym odporúčaním Next.js, aby určili minimálnu bezpečnú verziu pre zvolenú líniu vydaní.

Organizácie, ktoré sa spoliehajú na iné Rámce s podporou RSC — ako napríklad Redwood, Waku, ukážka RSC od React Routeru alebo pluginy Vite a Parcel RSC — sa odporúčajú skontrolujte príslušné poznámky k vydaniu a bezpečnostné kanályV mnohých prípadoch tieto projekty jednoducho zabalia alebo zväzujú serverové komponenty Reactu, takže je potrebná aktualizácia samotného Reactu a následné stiahnutie najnovšej revízie frameworku.

Okrem jednoduchého opráv sa používajú aj cloudové nástroje hľadanie zraniteľných inštancií vo veľkom rozsahuNapríklad zákazníci spoločnosti Wiz môžu v Centre hrozby Wiz využiť otázky a odporúčania, aby zistili, kde v ich prostrediach sú nasadené postihnuté verzie React alebo Next.js. Iné organizácie používajú inventáre aktív, údaje SBOM a skenovanie kontajnerov na dosiahnutie podobnej viditeľnosti.

Ak existuje akýkoľvek náznak, že systémy už mohli byť cieľom alebo kompromitované prostredníctvom týchto CVE, odporúča sa podpora reakcie na incidentyNiektorí dodávatelia výslovne vyzývajú zákazníkov, ktorí majú podozrenie na zneužitie škodlivého kódu CVE-2025-55182 alebo CVE-2025-66478, aby kontaktovali ich IR tímy a požiadali ich o pomoc s triedením, obmedzením a forenznou analýzou.

Čo to odhaľuje o webovom ekosystéme JavaScriptu

Aj keď záplaty React a Next.js bezprostrednú medzeru uzatvárajú, Incident vyvoláva širšie otázky o tom, ako serverové JavaScriptové frameworky spracovávajú nedôveryhodné údaje.Protokoly ako Flight sú hlboko v databáze, skryté za abstrakciami, ktoré vývojári len zriedka priamo kontrolujú, čo znamená, že chyby môžu mať rozsiahle následky skôr, ako si ich vývojári všimnú.

Skutočnosť, že zraniteľné správanie dodávané v predvolenom nastavení, silne propagované konfigurácie tiež zdôrazňuje napätie medzi vývojárskym zážitkom a štandardne bezpečným dizajnom. Funkcie, ktoré uľahčujú vytváranie moderných aplikácií – ako sú serverové komponenty a bezproblémová serializácia medzi klientom a serverom – môžu nenápadne predstavovať zložité povrchy pre útok.

Pre bezpečnostné tímy je tento prípad ďalšou pripomienkou toho, Zraniteľnosti na úrovni frameworku sa môžu okamžite zmeniť na celoorganizačné ohrozenieJedna chyba v populárnom komponente s otvoreným zdrojovým kódom sa môže objaviť v srdci desiatok samostatných aplikácií, mikroslužieb a interných nástrojov, najmä pri opätovnom použití kontajnerov a šablón.

Na druhej strane, reakcia správcov Reactu, spoločností Meta a Vercel, to dokazuje Koordinované zverejňovanie a rýchly rozvoj oblastí sú možné aj vo veľkých ekosystémochJasné odporúčania, verzované opravy a koordinácia s dodávateľmi bezpečnostných riešení pomohli obrancom uprednostniť tento problém uprostred mnohých konkurenčných zraniteľností.

Mnohí pozorovatelia očakávajú pokračujúce skúmanie do budúcnosti logika serializácie, deserializácie a parsovania protokolov vo webových frameworkochAk CVE-2025-55182 a CVE-2025-66478 podnietia systematickejšie testovanie a prísnejšiu validáciu komponentov, ako je Flight, z inak závažného incidentu by mohli vyplynúť určité dlhodobé bezpečnostné výhody.

Tímy používajúce React alebo Next.js zatiaľ pretekajú medzi... nasadenie záplat a automatizácia útočníkovVzhľadom na maximálne závažné RCE ovplyvňujúce predvolené konfigurácie, rozsiahlu prítomnosť cloudu a techniky zneužívania s vysokou spoľahlivosťou, ktoré už boli preukázané vo výskume, závisí udržanie bezpečnosti týchto prostredí od toho, ako rýchlo dokážu organizácie identifikovať, kde sú vystavené riziku, a presunúť všetko do zosilnených vydaní.

auditória bezpečnosti npm
Súvisiaci článok:
Podrobný sprievodca auditom bezpečnosti NPM a útokmi na dodávateľský reťazec
Súvisiace príspevky: