CVE-2025-55182 React un CVE-2025-66478 Next.js: ko kritiskā RCE kļūda patiesībā nozīmē tīmeklim

Pēdējā atjaunošana: 12/04/2025
  • CVE-2025-55182 pakalpojumā React un CVE-2025-66478 pakalpojumā Next.js ļauj neautentificētu attālinātu koda izpildi, izmantojot React Server Components Flight protokolu.
  • Trūkums rodas no nedrošas RSC vērtumu deserializācijas, atstājot React un Next.js noklusējuma konfigurācijas atklātas bez jebkādām pielāgota koda izmaiņām.
  • Drošības pētnieki ziņo par gandrīz 100% ekspluatācijas uzticamību un brīdina, ka, analizējot ielāpus, ir iespējami masveida uzbrukumi.
  • Vienīgais galīgais risinājums ir tūlītēja jaunināšana uz uzlabotajām React un Next.js versijām, īpaši mākoņvidēs, kur līdz pat ~40% var būt neaizsargāti.

Drošības ievainojamība React un Next.js failos

CVE-2025-55182 atklāšana React un tās dvīņu problēma CVE-2025-66478 Next.js ir likusi uzmanības centrā to, cik trausli var būt servera puses JavaScript steki, ja rodas problēmas ar zema līmeņa protokoliem. Tā nav nišas kļūda, bet gan ļoti nopietna attālinātas koda izpildes kļūda, kas skar React servera komponentu un Flight protokola būtību, no kura nemanāmi ir atkarīgas daudzas mūsdienu lietotnes.

Kas šo lietu padara īpaši satraucošu, ir tas, ka noklusējuma iestatījumi ir redzamiVienkārša Next.js lietotne, kas ģenerēta ar create-next-app, kas ir izveidots ražošanas videi un izvietots bez jebkādām neparastām opcijām, var tikt apdraudēts, izmantojot neautentificētu HTTP pieprasījumu. Nav nekādu iedomīgu nepareizu konfigurāciju, nav eksotisku spraudņu — tikai standarta steks, ko daudzas komandas ievieš katru dienu.

Kā tika atklāti CVE-2025-55182 un CVE-2025-66478

Problēmas sakne slēpjas react-server ieviešanā, kas nodrošina React Server Components (RSC) darbību . Šī pakotne ir pamatā Flight protokolam, kas tiek izmantots serializētu komponentu datu pārsūtīšanai starp klientu un serveri. Kad drošības pētnieks Laklans Deividsons novembra beigās ziņoja par aizdomīgu rīcību, izmantojot Meta kļūdu meklēšanas programmu, tas izraisīja ātru React un Meta komandu reakciju.

Saskaņā ar publiskajiem brīdinājumiem ievainojamība tika atklāta trešdien, un ārkārtas ielāpi tika nosūtīti aptuveni četru dienu laikā . Tas ir neparasti ātrs risinājums problēmai, kas ietekmē tik lielu ekosistēmu, un tas uzsver, cik nopietna ir šī nepilnība: React uzturētāji to novērtēja ar CVSS vērtējumu 10.0 , kas ir maksimālais iespējamais.

Paralēli tam Vercel — uzņēmums, kas izstrādāja Next.js — analizēja, kā tā pati pamatā esošā kļūda ietekmēja tā ietvaru. Tā kā Next.js serverī izmanto to pašu RSC Flight protokolu, tas mantoja ievainojamību un tam tika piešķirts savs identifikators CVE-2025-66478 . Vercel izdeva brīdinājumu un izlaida ielāpus tajā pašā dienā, kad tika publicēts React brīdinājums, cenšoties pēc iespējas saīsināt uzbrucēju iespēju logu.

Neskatoties uz ātro reakciju, drošības pārdevēji un pētnieki sāka brīdināt, ka uzbrucēji, visticamāk, ļoti ātri pārveidos labojumus , kā tas redzams piegādes ķēdes uzbrukumos pret npm . Kad ielāpotais kods ir publiski pieejams, ir daudz vieglāk noteikt, kur bija kļūda, un izveidot funkcionējošus izmantošanas veidus.

Kas tieši notiek nepareizi React Flight protokolā?

Tehniskā līmenī gan CVE-2025-55182, gan CVE-2025-66478 ir saistīta ar uzbrucēja kontrolētu datu nedrošu deserializāciju Flight protokolā. React Server komponenti sūta un saņem strukturētas vērtības, kuras serveris pēc tam dekodē un izmanto izpildes plūsmas vadīšanai.

Ievainojamā loģika react-server pakete neizdevās stingri validēt ienākošo RSC vērtumu struktūru un saturuNosūtot apzināti nepareizi veidotu, bet rūpīgi izstrādātu Flight vērtumu uz React Server Function galapunktu, uzbrucējs var ietekmēt servera darbības, kad tas deserializē šos datus. Tā vietā, lai vienkārši rekonstruētu labdabīgu komponentu stāvokli, koda ceļu var novirzīt uz izpildi. privileģēts JavaScript serverī.

Tā kā kļūda ietekmē protokola dekodēšanas veidu, autentifikācija nav nepieciešama . Attālajam uzbrucējam ir jāspēj tikai nosūtīt HTTP pieprasījumus uz jebkuru sasniedzamu RSC vai servera funkciju galapunktu. Tas pārvērš ievainojamību par vienkāršu, neautentificētu RCE vektoru: nosūtiet izstrādātu pieprasījumu, gaidiet nedrošu deserializāciju, un vērtums var tikt izpildīts aizmugursistēmā.

Wiz pētnieki, kuri neatkarīgi analizēja šo problēmu, to raksturoja kā loģisku deserializācijas ievainojamību , nevis vienkāršu parsēšanas kļūdu. Viņu testēšanā pilnībā funkcionējošs koncepcijas pierādījuma izmantojums sasniedza gandrīz 100% ticamību koda izpildes aktivizēšanā neaizsargātos mērķos.

Kāpēc noklusējuma React un Next.js izvietojumi ir apdraudēti

Viens no satraucošākajiem šo CVE aspektiem ir tas, ka tie ietekmē jau gatavas konfigurācijas . Daudzu drošības problēmu gadījumā to izmantošanai ir nepieciešams īpašs funkciju karodziņš, reti izmantots spraudnis vai nestandarta izvietošanas režīms. Šajā gadījumā tas tā nav.

React Server komponenti un to Flight protokols ir kļuvuši par neatņemamām mūsdienu React 19 un Next.js arhitektūru sastāvdaļām. Tā rezultātā, standarta ražošanas versija, ko ģenerējis create-next-app var tikt ļaunprātīgi izmantots bez papildu koda no lietojumprogrammas izstrādātāja puses. Uzbrucējam nav jāuzmin pielāgoti maršruti vai biznesa loģika; pietiek ar vispārīgu RSC galapunktu ļaunprātīgu izmantošanu.

Šī nepilnība neaprobežojas tikai ar pašu Next.js. Jebkura sistēma vai rīks, kas serverī apvieno vai atkārtoti ievieš RSC Flight protokolu, var būt neaizsargāts. Publiskie brīdinājumi un drošības raksti izceļ vairākas skartās ekosistēmas:

  • Next.js, vispazīstamākā sistēma, kas ietekmē lejupējos tirgus posmus
  • Vite RSC spraudnis (@vitejs/plugin-rsc)
  • Sūtījumu RSC spraudnis (@parcel/rsc)
  • React Router RSC priekšskatījums
  • RedwoodSDK (bieži dēvēts par rwsdk)
  • Vaku un citas RSC iespējotas rīkķēdes

Pašā React versijā kļūda ietekmē attiecīgo pakotņu versijas 19.0, 19.1.0, 19.1.1 un 19.2.0 . Uzturētāji norāda, ka jaunināšana uz 19.0.1, 19.1.2 vai 19.2.1 versiju nodrošina uzlabotu darbību un novērš ievainojamību. Next.js ir pieejamas atbilstošas ​​labojumu versijas, kas integrē ielāpoto React servera loģiku.

Daži infrastruktūras nodrošinātāji ir precizējuši ietekmes robežas. Piemēram, Google ir paziņojis, ka publiskie operētājsistēmas attēli Compute Engine pēc noklusējuma nav neaizsargāti , jo tie nepiegādā gatavus React vai Next.js; risks rodas, kad lietotāji izvieto skartās šo ietvaru versijas virs bāzes attēliem.

Cik liels ir sprādziena rādiuss pāri mākonim?

Problēmas mērogs kļūst skaidrs, aplūkojot, cik plaši React un Next.js tiek izmantoti ražošanas vidē. React ir pamatā lietotāju saskarnēm tādām lielām platformām kā Facebook, Instagram, Netflix, Airbnb, Shopify, Walmart, Asana un daudzām citām . Turklāt neskaitāmas mazākas lietotnes un iekšējie informācijas paneļi tiek veidoti, izmantojot tos pašus komponentus un ietvarus.

Wiz apdraudējumu izlūkošanas komandas analizēja telemetriju no mākoņvidēm un atklāja, ka aptuveni 39–40 % mākoņizvietojumu satur neaizsargātus React vai Next.js gadījumus. Vienīgi Next.js gadījumā šis ietvars parādās aptuveni 69 % no apsekotajām vidēm , un aptuveni 61 % no tām virs tā darbojas publiskas lietojumprogrammas . Apvienojot šos procentuālos rādītājus, tas nozīmē, ka aptuveni 44 % no visām novērotajām mākoņvidēm mitina publiski pieejamas Next.js instances neatkarīgi no precīzās ietvara versijas.

Šī popularitātes un ievainojamības pārklāšanās satrauc aizsardzības speciālistus. Ja plaši izvietotā sistēmā ir maksimāli nopietna, neautentificēta RCE kļūda ar uzticamu izmantošanas ceļu, gandrīz garantēti sekos oportūnistiski un mērķtiecīgi uzbrukumi . Pat organizācijām, kas ātri ievieš ielāpus, var nākties saskarties ar īsu laika periodu, kurā neaizsargāti galapunkti var tikt pārbaudīti un apdraudēti.

Sākotnējās informācijas atklāšanas laikā publiski netika ziņots par apstiprinātu tiešu ielaušanos . Tomēr vairāki drošības pētnieki, tostarp Rapid7 un watchTowr eksperti, uzsvēra, ka ir reāli pieņemt, ka apdraudējumu radītāji jau veic ielāpu reverso inženieriju, skenē neaizlāpotus pakalpojumus un veido automatizētas uzbrukumu ķēdes.

Ko pētnieki un pārdevēji saka par ekspluatācijas risku

Drošības aprindu paziņojumi rada konsekventu priekšstatu: šī nav teorētiska problēma , un uzbrucēju ienākšanas barjera ir zema. Bendžamins Hariss, watchTowr izpilddirektors, raksturoja šo trūkumu kā būtisku risku viena no pasaulē visizplatītākajiem tīmekļa ietvariem lietotājiem un uzsvēra, ka tā izmantošanai ir nepieciešami "nedaudz priekšnosacījumu".

Wiz pētnieki atkārtoja šo novērtējumu pēc gan neaizsargāto, gan ielāpu versiju testēšanas. Viņu iekšējie eksperimenti parādīja, ka izstrādātās vērtuma slodzes, kas tika izmantotas, lai izmantotu nedrošo deserializāciju, sasniedza gandrīz 100% veiksmes rādītāju, aktivizējot pilnīgu attālinātu koda izpildi skartajos serveros. Viņi arī atzīmēja, ka uzbrukums ir pilnībā attālināts un neautentificēts , un to pilnībā vada speciāli izveidoti HTTP pieprasījumi.

No Rapid7 viedokļa raugoties, paredzams, ka tehniski apraksti un koncepcijas pierādījuma izmantošanas piemēri parādīsies, tiklīdz pietiekami daudz cilvēku būs parsējuši ielāpus . Tas savukārt, visticamāk, veicinās plašākus skenēšanas un masveida izmantošanas mēģinājumus, īpaši mākoņvidēs ar daudzām internetam pieslēdzamām lietotnēm.

Pat ārpus pārdevēju kopienas nozares plašsaziņas līdzekļi ir raksturojuši šos CVE kā tādus, kas apdraud ievērojamu interneta daļu . Ziņojumos ir uzsvērta ne tikai tieša nopietnība, bet arī lielu patērētāju vietņu, SaaS platformu un API aizmugursistēmu skaits, kas savām priekšējām daļām un servera puses renderēšanai paļaujas uz React un Next.js.

Riska mazināšanas pasākumi: kas React un Next.js lietotājiem būtu jādara tagad

Komandām, kas ražošanas vidē izmanto React vai Next.js, uzturētāju un pētnieku norādījumi ir vienkāršā punktā: jaunināšana uz ielāpītajām versijām ir vienīgais galīgais risinājums . Nav konfigurācijas pārslēgu vai vispārīgu WAF noteikumu, kas varētu pilnībā atrisināt pamatā esošo nedrošo deserializācijas uzvedību Flight protokolā.

React komanda iesaka ikvienam, kas strādā ar skartajām filiālēm, pāriet uz pastiprinātajām versijām 19.0.1, 19.1.2 vai 19.2.1, pārliecinoties, ka react-server pakotne ir iekļauta atjauninājumā. Next.js pakotnei Vercel ir publicējis labotas versijas, kas integrē ielāpoto RSC apstrādiAdministratoriem jāiepazīstas ar oficiālajiem Next.js ieteikumiem, lai noteiktu izvēlētās laidiena līnijas minimālo drošo versiju.

Organizācijām, kas izmanto citus RSC atbalstošus ietvarus , piemēram, Redwood, Waku, React Router RSC priekšskatījumu vai Vite un Parcel RSC spraudņus, ieteicams pārbaudīt atbilstošās laidiena piezīmes un drošības kanālus . Daudzos gadījumos šie projekti vienkārši ietver vai apvieno React servera komponentus, tāpēc ir nepieciešams atjaunināt pašu React un pēc tam lejupielādēt jaunāko ietvara versiju.

Papildus vienkāršai ielāpu ieviešanai tiek izmantoti uz mākoņpakalpojumiem vērsti rīki, lai plašā mērogā meklētu ievainojamas instances . Piemēram, Wiz klienti var izmantot vaicājumus un ieteikumus Wiz apdraudējumu centrā, lai atrastu, kur viņu vidē ir izvietotas skartās React vai Next.js versijas. Citas organizācijas izmanto aktīvu inventarizācijas, SBOM datus un konteineru skenēšanu, lai panāktu līdzīgu redzamību.

Ja ir kādas norādes, ka sistēmas, iespējams, jau ir tikušas pakļautas uzbrukumiem vai kompromitētas, izmantojot šos CVE, ieteicams sniegt incidentu reaģēšanas atbalstu . Daži pārdevēji īpaši aicina klientus, kuriem ir aizdomas par CVE-2025-55182 vai CVE-2025-66478 izmantošanu, sazināties ar savām IR komandām, lai saņemtu palīdzību triāžas, ierobežošanas un kriminālistikas jautājumos.

Ko tas atklāj par JavaScript tīmekļa ekosistēmu

Lai gan React un Next.js ielāpi novērš tiešo trūkumu, šis incidents rada plašākus jautājumus par to, kā servera puses JavaScript ietvari apstrādā neuzticamus datus . Protokoli, piemēram, Flight, atrodas dziļi stekā, paslēpti aiz abstrakcijām, kuras izstrādātāji reti pārbauda tieši, kas nozīmē, ka trūkumiem var būt plaša ietekme, pirms tie tiek pamanīti.

Fakts, ka neaizsargāta uzvedība tiek nodrošināta noklusējuma, plaši reklamētās konfigurācijās , arī izceļ spriedzi starp izstrādātāja pieredzi un drošu pēc noklusējuma dizainu. Funkcijas, kas atvieglo mūsdienīgu lietotņu izveidi, piemēram, servera komponenti un nemanāma serializācija starp klientu un serveri, var nemanāmi radīt sarežģītas uzbrukuma virsmas.

Drošības komandām šis gadījums ir vēl viens atgādinājums, ka ietvara līmeņa ievainojamības var acumirklī pārvērsties par apdraudējumu visā organizācijā . Viena kļūda populārā atvērtā pirmkoda komponentā var parādīties desmitiem atsevišķu lietojumprogrammu, mikropakalpojumu un iekšējo rīku centrā, īpaši, ja konteineri un veidnes tiek atkārtoti izmantotas.

Pozitīvi ir tas, ka React uzturētāju Meta un Vercel reakcija parāda, ka koordinēta atklāšana un ātra ielāpu izstrāde ir iespējama pat lielās ekosistēmās . Skaidri ieteikumi, versiju labojumi un koordinācija ar drošības pārdevējiem ir palīdzējuši aizstāvjiem noteikt prioritāti šim jautājumam daudzu konkurējošu ievainojamību vidū.

Raugoties nākotnē, daudzi novērotāji sagaida turpmāku serializācijas, deserializācijas un protokolu parsēšanas loģikas pārbaudi tīmekļa sistēmās . Ja CVE-2025-55182 un CVE-2025-66478 veicinās sistemātiskāku testēšanu un stingrāku validāciju tādiem komponentiem kā Flight, no citādi nopietna incidenta varētu rasties daži ilgtermiņa drošības ieguvumi.

Pagaidām komandas, kas izmanto React vai Next.js pakotnes, cīnās starp ielāpu izvietošanu un uzbrucēju automatizāciju . Ņemot vērā maksimālās nopietnības RCE, kas ietekmē noklusējuma konfigurācijas, plašu mākoņa klātbūtni un augstas uzticamības ekspluatācijas metodes, kas jau ir demonstrētas pētījumos, šo vides drošības nodrošināšana ir atkarīga no tā, cik ātri organizācijas var noteikt, kur tās ir pakļautas riskam, un pārvietot visu uz aizsargātākām versijām.

drošības auditorija npm
Saistītais raksts:
Padziļināta rokasgrāmata par NPM drošības auditu un piegādes ķēdes uzbrukumiem
Related posts: