- CVE-2025-55182 u Reactu i CVE-2025-66478 u Next.jsu omogućuju neautentificirano udaljeno izvršavanje koda putem protokola React Server Components Flight.
- Greška proizlazi iz nesigurne deserijalizacije RSC sadržaja, ostavljajući zadane konfiguracije Reacta i Next.jsa izloženima bez ikakvih promjena prilagođenog koda.
- Istraživači sigurnosti izvještavaju o gotovo 100%-tnoj pouzdanosti iskorištavanja i upozoravaju da su masovni napadi vjerojatni dok se analiziraju zakrpe.
- Trenutne nadogradnje na ojačane verzije Reacta i Next.jsa jedino su konačno ublažavanje, posebno u cloud okruženjima gdje do ~40% može biti ranjivo.
Otkrivanje CVE-2025-55182 u Reactu i njegov dvostruki problem CVE-2025-66478 u Next.js-u je istaknuo koliko krhki mogu biti poslužiteljski JavaScript stekovi kada protokoli niske razine krenu po zlu. Umjesto da bude nišna greška, ovo je greška udaljenog izvršavanja koda maksimalne ozbiljnosti koja pogađa srž React Server komponenti i Protokol leta mnoge moderne aplikacije tiho ovise o.
Ono što ovaj slučaj čini posebno uznemirujućim jest to što izložene su zadane postavkeJednostavna Next.js aplikacija generirana pomoću create-next-app, izgrađen za produkciju i implementiran bez ikakvih neobičnih opcija, može biti kompromitiran putem neautentificiranog HTTP zahtjeva. Nema fensi pogrešne konfiguracije, nema egzotičnog dodatka - samo standardni paket koji mnogi timovi svakodnevno uvode.
Kako su otkriveni CVE-2025-55182 i CVE-2025-66478
Korijen problema leži u implementacija react-servera koja pokreće React Server Components (RSC)Ovaj paket podupire protokol Flight, koji se koristi za prijenos serijaliziranih podataka komponenti između klijenta i poslužitelja. Kada istraživač sigurnosti Lachlan Davidson prijavilo je sumnjivo ponašanje putem Metinog programa za nagrađivanje grešaka krajem studenog, što je izazvalo brzu reakciju React i Meta timova.
Prema javnim obavijestima, ranjivost je otkrivena u srijedu i hitne zakrpe su poslane u roku od otprilike četiri danaTo je neobično brzo rješenje za problem koji utječe na tako veliki ekosustav i naglašava koliko je ozbiljna mana: održavatelji Reacta ocijenili su ga s CVSS rezultat od 10.0, maksimalno moguće.
Paralelno, Vercel — tvrtka koja stoji iza Next.js-a — analizirao je kako je ista temeljna greška utjecala na njegov okvir. Budući da Next.js koristi isti RSC Flight protokol na poslužitelju, naslijedio je slabost i dodijeljen mu je vlastiti identifikator, CVE-2025-66478Vercel je izdao upozorenje i zakrpe istog dana kao i React savjet, s ciljem da se vrijeme za napadače svede na što kraće.
Unatoč brzoj reakciji, dobavljači sigurnosnih rješenja i istraživači počeli su upozoravati da će napadači vjerojatno rekonstruirati inženjering rješenja vrlo brzo, kao što se vidi u napadi na npm u lancu opskrbeNakon što je zakrpani kod javno dostupna, puno je lakše zaključiti gdje je bila greška i izraditi funkcionalne exploite.
Što točno nije u redu s protokolom React Flight?
Na tehničkoj razini, i CVE-2025-55182 i CVE-2025-66478 svode se na nesigurna deserijalizacija podataka koje kontrolira napadač unutar Flight protokola. Komponente React Servera šalju i primaju strukturirane korisne podatke, koje poslužitelj zatim dekodira i koristi za pokretanje tijeka izvršavanja.
Ranjiva logika u react-server paket nije uspio strogo validirati strukturu i sadržaj dolaznih RSC korisnih podatakaSlanjem namjerno oštećenog, ali pažljivo izrađenog Flight payloada na krajnju točku React Server Function, napadač može utjecati na ono što poslužitelj radi kada deserializira te podatke. Umjesto jednostavne rekonstrukcije benignog stanja komponente, put koda može se usmjeriti na izvršavanje. privilegirani JavaScript na poslužitelju.
Budući da greška utječe na način dekodiranja protokola, nije potrebna autentifikacijaUdaljeni napadač samo treba moći slati HTTP zahtjeve bilo kojoj dostupnoj RSC ili Server Function krajnjoj točki. To ranjivost pretvara u jednostavan, neautentificirani RCE vektor: pošaljite izrađen zahtjev, pričekajte nesigurnu deserijalizaciju i korisni teret može se na kraju izvršiti na pozadini.
Istraživači iz Wiza, koji su neovisno analizirali problem, opisuju ga kao ranjivost logičke deserijalizacije a ne jednostavnu grešku u parsiranju. U njihovom testiranju, potpuno funkcionalan proof-of-concept iskorištavanje je postiglo gotovo 100% pouzdanost u pokretanju izvršavanja koda na ranjivim ciljevima.
Zašto su zadane implementacije Reacta i Next.jsa ugrožene
Jedan od najzabrinjavajućih aspekata ovih CVE-a je taj što utječu na konfiguracije odmah po instalacijiZa mnoge sigurnosne probleme, iskorištavanje zahtijeva određenu zastavicu značajke, rijetko korišteni dodatak ili nestandardni način implementacije. To ovdje nije slučaj.
Komponente React Servera i njihov Flight protokol postali su sastavni dijelovi modernih arhitektura React 19 i Next.js. Kao rezultat toga, standardna produkcijska verzija generirana od strane create-next-app može se iskoristiti bez dodatnog koda od strane programera aplikacije. Napadač ne mora pogađati prilagođene rute ili poslovnu logiku; dovoljna je zloupotreba generičkih RSC krajnjih točaka.
Nedostatak nije ograničen samo na Next.js. Bilo koji okvir ili alat koji objedinjuje ili ponovno implementira RSC Flight protokol na poslužitelju mogu biti ranjivi. Javna upozorenja i sigurnosne izvještaji ističu nekoliko pogođenih ekosustava:
- Dalje.js, najpoznatiji okvir koji je pogođen nizvodno
- Vite RSC dodatak (
@vitejs/plugin-rsc) - Dodatak za pakete RSC (
@parcel/rsc) - Pregled RSC-a za React Router
- RedwoodSDK (često se navodi kao
rwsdk) - Waku i ostali RSC-omogućeni alati
U samom Reactu, bug utječe verzije 19.0, 19.1.0, 19.1.1 i 19.2.0 relevantnih paketa. Održavatelji navode da nadogradnja na 19.0.1, 19.1.2 ili 19.2.1 pruža ojačano ponašanje i uklanja ranjivost. Next.js ima odgovarajuća ispravljena izdanja koja integriraju zakrpanu logiku React servera.
Neki pružatelji infrastrukture pojasnili su granice utjecaja. Na primjer, Google je izjavio da Javne slike OS-a za Compute Engine nisu ranjive prema zadanim postavkama, budući da ne isporučuju gotove React ili Next.js; rizik se pojavljuje kada korisnici implementiraju pogođene verzije tih okvira preko osnovnih slika.
Koliki je radijus eksplozije preko oblaka?
Razmjeri problema dolaze do izražaja kada se pogleda koliko se široko React i Next.js koriste u produkciji. React podupire korisnička sučelja za glavne platforme kao što su Facebook, Instagram, Netflix, Airbnb, Shopify, Walmart, Asana i mnogi drugiOsim toga, bezbroj manjih aplikacija i internih nadzornih ploča izgrađeno je s istim komponentama i okvirima.
Timovi za obavještajne podatke o prijetnjama u Wizu analizirali su telemetriju iz okruženja u oblaku i otkrili da oko 39-40% implementacija u oblaku sadrži ranjive instance Reacta ili Next.jsa. Samo za Next.js, okvir se pojavljuje otprilike 69% ispitanih okruženja, i otprilike u 61% tih javno dostupnih aplikacija radi na njemuKada se ti postoci kombiniraju, to znači da otprilike 44% svih promatranih okruženja u oblaku hostira javno izložene instance Next.js-a, bez obzira na točnu verziju okvira.
To preklapanje između popularnosti i ranjivosti ono je što alarmira branitelje. Kada široko rasprostranjeni stog ima RCE grešku maksimalne ozbiljnosti, neautentificiranu, s pouzdanim putem iskorištavanja, gotovo je zajamčeno da će uslijediti oportunistički i ciljani napadiČak i organizacije koje brzo instaliraju zakrpe mogu se suočiti s kratkim vremenskim okvirom u kojem izložene krajnje točke mogu biti ispitane i kompromitirane.
U vrijeme početnih objava, nije javno prijavljeno nikakvo potvrđeno iskorištavanje u divljiniMeđutim, više sigurnosnih istraživača, uključujući stručnjake iz Rapid7 i watchTowra, naglasilo je da je realno pretpostaviti da akteri prijetnji već vrše obrnuti inženjering zakrpa, skeniraju nezakrpane usluge i grade automatizirane lance napada.
Što istraživači i dobavljači kažu o riziku iskorištavanja
Izjave sigurnosne zajednice oslikavaju konzistentnu sliku: ovo nije teorijski problem, a ulazna barijera za napadače je niska. Benjamin Harris, izvršni direktor tvrtke watchTowr, opisao je nedostatak kao veliki rizik za korisnike jednog od najraširenijih web okvira na svijetu i naglasio da iskorištavanje zahtijeva „malo preduvjeta“.
Istraživači u Wizu ponovili su tu procjenu nakon testiranja i ranjivih i zakrpanih verzija. Njihovi interni eksperimenti pokazali su da su izrađeni korisni tereti korišteni za iskorištavanje nesigurne deserijalizacije postigli gotovo 100%-tna stopa uspjeha u pokretanju potpunog udaljenog izvršavanja koda na pogođenim poslužiteljima. Također su napomenuli da je napad potpuno udaljeno i neautentificirano, u potpunosti vođen posebno konstruiranim HTTP zahtjevima.
Iz perspektive Rapid7-a, očekuje se da Tehnički opisi i probni koncepti pojavit će se nakon što dovoljan broj ljudi analizira zakrpe.To će, pak, vjerojatno potaknuti šire skeniranje i pokušaje masovnog iskorištavanja, posebno protiv okruženja u oblaku s mnogim aplikacijama okrenutim prema internetu.
Čak i izvan zajednice dobavljača, Industrijski mediji su ove CVE-ove uokvirili kao faktore koji ugrožavaju značajan dio interneta.Izvješćivanje je istaknulo ne samo ozbiljnu situaciju, već i broj velikih potrošačkih web-mjesta, SaaS platformi i API backendova koji se oslanjaju na React i Next.js za svoje frontendove i renderiranje na strani poslužitelja.
Koraci za ublažavanje: što bi korisnici Reacta i Next.jsa trebali učiniti sada
Za timove koji koriste React ili Next.js u produkciji, smjernice održavatelja i istraživača svode se na jednostavnu točku: Nadogradnja na zakrpane verzije je jedino konačno rješenjeNe postoje konfiguracijski prekidači ili generička WAF pravila koja mogu u potpunosti riješiti temeljno nesigurno ponašanje deserijalizacije u protokolu Flight.
React tim preporučuje da svatko na pogođenim granama prelazi na ojačane verzije 19.0.1, 19.1.2 ili 19.2.1, pazeći da react-server Paket je uključen u ažuriranje. Za Next.js, Vercel je objavio ispravljene verzije koje integriraju zakrpano RSC rukovanjeAdministratori bi se trebali konzultirati sa službenim savjetima za Next.js kako bi odredili minimalnu sigurnu verziju za odabranu liniju izdanja.
Organizacije koje se oslanjaju na druge Okviri s omogućenim RSC-om — kao što su Redwood, Waku, pregled RSC-a React Routera ili dodaci Vite i Parcel RSC — preporučuju se provjerite odgovarajuće bilješke o izdanju i sigurnosne kanaleU mnogim slučajevima, ovi projekti jednostavno omotavaju ili povezuju Reactove serverske komponente, pa je potrebno ažuriranje samog Reacta, a zatim preuzimanje najnovije revizije okvira.
Osim jednostavnog ažuriranja, koriste se alati usmjereni na oblak potraga za ranjivim instancama u velikim razmjerimaWiz korisnici, na primjer, mogu provjeriti upite i savjete u Wiz Threat Centru kako bi pronašli gdje su pogođene verzije Reacta ili Next.jsa raspoređene u njihovim okruženjima. Druge organizacije koriste inventare imovine, SBOM podatke i skeniranje spremnika kako bi postigle sličnu vidljivost.
Ako postoji bilo kakva naznaka da su sustavi možda već bili ciljani ili kompromitirani putem ovih CVE-ova, preporučuje se podrška za odgovor na incidenteNeki dobavljači posebno pozivaju kupce koji sumnjaju na iskorištavanje CVE-2025-55182 ili CVE-2025-66478 da se obrate njihovim IR timovima za pomoć pri trijaži, obuzdavanju i forenzici.
Što ovo otkriva o JavaScript web ekosustavu
Iako zakrpe za React i Next.js zatvaraju neposrednu prazninu, Incident postavlja šira pitanja o tome kako poslužiteljski JavaScript okviri obrađuju nepouzdane podatke.Protokoli poput Flighta nalaze se duboko u stogu, skriveni iza apstrakcija koje programeri rijetko izravno pregledavaju, što znači da nedostaci mogu imati dalekosežne učinke prije nego što se uoče.
Činjenica da se ranjivo ponašanje isporučeno u zadanim postavkama, snažno promovirane konfiguracije također ističe napetost između iskustva programera i sigurnog dizajna po zadanim postavkama. Značajke koje olakšavaju izradu modernih aplikacija - poput poslužiteljskih komponenti i besprijekorne serijalizacije između klijenta i poslužitelja - mogu tiho uvesti složene površine za napad.
Za sigurnosne timove, ovaj slučaj je još jedan podsjetnik da Ranjivosti na razini okvira mogu se trenutno pretvoriti u izloženost cijele organizacijeJedna greška u popularnoj komponenti otvorenog koda može se pojaviti u srcu desetaka zasebnih aplikacija, mikroservisa i internih alata, posebno kada se kontejneri i predlošci ponovno koriste.
S pozitivne strane, odgovor održavatelja Reacta, Mete i Vercela, pokazuje da Koordinirano otkrivanje i brzi razvoj zakrpa mogući su čak i u velikim ekosustavimaJasne upute, verzije ispravaka i koordinacija s dobavljačima sigurnosnih rješenja pomogli su braniteljima da daju prioritet ovom problemu usred mnogih konkurentskih ranjivosti.
Gledajući unaprijed, mnogi promatrači očekuju nastavak praćenja logika serijalizacije, deserijalizacije i parsiranja protokola u web frameworkimaAko CVE-2025-55182 i CVE-2025-66478 potaknu sustavnije testiranje i strožu validaciju komponenti poput Flighta, iz inače ozbiljnog incidenta mogle bi proizaći neke dugoročne sigurnosne koristi.
Za sada, timovi koji koriste React ili Next.js stekove su u utrci između implementacija zakrpa i automatizacija napadačaS obzirom na RCE maksimalne ozbiljnosti koji utječe na zadane konfiguracije, opsežnu prisutnost u oblaku i tehnike iskorištavanja visoke pouzdanosti koje su već demonstrirane u istraživanjima, održavanje sigurnosti ovih okruženja svodi se na to koliko brzo organizacije mogu prepoznati gdje su izložene i premjestiti sve na ojačana izdanja.