CVE-2025-55182 pakalpojumā React un CVE-2025-66478 pakalpojumā Next.js: ko jaunās RCE nepilnības nozīmē tīmeklim

Pēdējā atjaunošana: 12/04/2025
  • CVE-2025-55182 pakalpojumā React un CVE-2025-66478 pakalpojumā Next.js iespējo neautentificētu attālinātu koda izpildi, izmantojot React Server Components Flight protokolu.
  • Problēma rodas no nedrošas izstrādātu RSC vērtumu deserializācijas, kas ietekmē noklusējuma konfigurācijas populāros ietvaros.
  • Pētnieki ziņo par gandrīz 100% ekspluatācijas uzticamību un lēš, ka aptuveni 39–40% mākoņvides ietver neaizsargātus gadījumus.
  • Vienīgais galīgais risinājums ir tūlītēja jaunināšana uz uzlabotām React un Next.js versijām; aizstāvjiem ir jāveic arī jebkura RSC iespējota ietvara audits.

Drošības problēma pakalpojumā React un Next.js

Pēdējo dienu laikā JavaScript ekosistēma ir cīnījusies ar divām ārkārtīgi nopietnām drošības ievainojamībām React un Next.js, kas paver durvis attālinātai koda izpildei skartajos serveros. Trūkumi, kas React gadījumā apzīmēti kā CVE-2025-55182 un Next.js gadījumā kā CVE-2025-66478 , ir saistīti ar to, kā React Server komponenti apstrādā specializētu tīkla trafiku tā sauktajā Flight protokolā.

Tā kā šīs problēmas ietekmē noklusējuma ietvara konfigurācijas un tās var izraisīt tikai ar izstrādātu HTTP pieprasījumu, tās ātri vien ir pacēlušās daudzu drošības komandu ielāpu sarakstu augšgalā. Pārdevēji, pētnieki un mākoņpakalpojumu sniedzēji tagad ir vienisprātis par vienu un to pašu vēstījumu: nekavējoties ieviest ielāpus, novērtēt apdraudējumu un sagatavoties plašiem skenēšanas un izmantošanas mēģinājumiem.

Kas īsti ir CVE-2025-55182 un CVE-2025-66478?

Problēmas pamatā ir trūkums react-server pakotnē — komponentē, kas nodrošina React Server komponentu (RSC) un Flight protokola darbību. Neaizsargātās versijās serveris pieņem speciāli veidotas RSC vērtās slodzes un deserializē tās bez atbilstošas ​​validācijas , ļaujot uzbrucēja kontrolētiem datiem traucēt serverī darbojošos loģiku.

Šāda uzvedība pārvērš datus, kam vajadzētu būt strukturētiem, par līdzekli privileģēta JavaScript izpildei aizmugursistēmā. Kad HTTP pieprasījums ir vērsts uz RSC vai servera funkcijas galapunktu ar ļaunprātīgu Flight vērtumu, nedrošo deserializācijas ceļu var ļaunprātīgi izmantot, lai panāktu neautentificētu attālo koda izpildi (RCE). Nav nepieciešama iepriekšēja piekļuve, akreditācijas dati vai lietotāja mijiedarbība.

Problēmas React puse ir norādīta kā CVE-2025-55182 , kas novērtēta kā skalas augšgalā ar CVSS vērtējumu 10.0. Tā kā Next.js ievieš RSC un Flight protokolu virs šiem primitīvajiem elementiem, tas manto to pašu galveno vājumu; šai lejupējai ietekmei ir piešķirts CVE-2025-66478 un tai ir tāds pats nopietnības vērtējums.

Drošības ieteikumos šī kļūda tiek raksturota kā loģiska deserializācijas ievainojamība, nevis klasiska atmiņas drošības problēma. Kļūme ir saistīta ar to, kā tiek parsēta un uzticēta vērtuma slodze, nevis ar zema līmeņa bufera apstrādi. Tomēr rezultāts ir tikpat nopietns: attālināts uzbrucējs var vadīt servera puses izpildi.

CVE-2025-55182 shēma React un Next.js failos

Kuri React un Next.js iestatījumi ir neaizsargāti?

Ievainojamības ietekme React 19 servera puses steks vairākās bieži ieviestās versijās. Uzturētāji ir norādījuši, ka tādas versijas kā 19.0, 19.1.0, 19.1.1 un 19.2.0 ir neaizsargātas pret react-server pakotne un tās Flight protokola ieviešana. Ielāpotie zari tiek izplatīti kā 19.0.1, 19.1.2 un 19.2.1, kas ievieš sacietējušu deserializācijas loģiku.

No ietvara puses, Next.js tiek ietekmēts jau no paša sākumaTipiska lietojumprogramma, kas ģenerēta ar create-next-app, kas ir izstrādāts ražošanas vajadzībām un izvietots ar noklusējuma iestatījumiem, var tikt izmantots bez papildu koda pievienošanas no izstrādātāja puses. Tāpēc uzņēmums Vercel, kas izstrādā Next.js, ir izdevis savu brīdinājumu ar CVE-2025-66478 un izlaidis atjauninātas ietvara versijas, kas izmanto labotās React pakotnes.

Ietekme neaprobežojas tikai ar Next.js. Visticamāk, tiks atklāta jebkura ekosistēmas komponente, kas apvieno vai pievienojas React Server komponentiem un Flight protokolam. Tas cita starpā ietver rīkus un ietvarus, piemēram:

  • Next.js
  • @vitejs/plugin-rsc (Vite RSC spraudnis)
  • @parcel/rsc (Parcel RSC spraudnis)
  • React Router RSC priekšskatījums
  • RedwoodSDK / rwsdk
  • Vaku

Pētnieku komandas ir uzsvērušas, ka noklusējuma konfigurācijas parasti ir apdraudētas . Citiem vārdiem sakot, pat ja izstrādātājs nav apzināti iespējojis nekādus eksperimentālus karodziņus vai neparastus iestatījumus, to izvietošana joprojām var būt ļaunprātīga, ja tiek izmantota skartā React Server komponentu versija.

Cik viegli ir izmantot un kāpēc aizstāvji ir noraizējušies

Drošības aprindas ir satraukušas zemās izmantošanas barjeras . Vairākas pētnieku grupas ziņo, ka šo trūkumu novēršanai ir nepieciešams tikai nosūtīt speciāli izstrādātu HTTP pieprasījumu uz sasniedzamu RSC vai servera funkcijas galapunktu. Nav nepieciešama autentifikācija, sarežģīti priekšnosacījumi vai lietotāja mijiedarbība, kas padara šo scenāriju īpaši pievilcīgu automatizētiem uzbrukumiem.

Kontrolētās testēšanas laikā tādas komandas kā Wiz Research ir izveidojušas funkcionējošus koncepcijas pierādījuma ielaušanās gadījumus un novērojušas gandrīz 100% uzticamību RCE aktivizēšanā neaizsargātās sistēmās. Lai gan šīs pilnās vērtuma slodzes vēl netiek izlaistas, pastāv vienprātība, ka pamatā esošā darbība ir pietiekami vienkārša, lai citi varētu rekonstruēt funkcionējošus ielaušanās gadījumus, izpētot publiskos ielāpus.

Ņemot vērā React un Next.js popularitāti, vairāki eksperti uzskata, ka masveida skenēšana un ieroču izmantošana ir tikai laika jautājums . Pastāv agrīni salīdzinājumi ar citiem augstas ietekmes servera puses trūkumiem, kuru izmantošana pieauga pēc tam, kad tehniskā informācija un koda piemēri tika izplatīti pagrīdes kopienās vai publiskajās krātuvēs.

Pētnieki arī uzsver potenciālo mērķu plašumu . React ir pamatā vietnēm un lietotnēm lielās organizācijās sociālajos medijos, e-komercijā, straumēšanā, SaaS un citur. Tādi ietvari kā Next.js tiek plaši izmantoti gan iekšējām, gan ar klientiem saistītām lietojumprogrammām, kas nozīmē, ka neaizsargāti gadījumi var parādīties gan dziļi korporatīvajos tīklos, gan publiski pieejamās front-end sistēmās.

Laikā, kad tika publicēti daudzi ieteikumi, nebija apstiprinātu ziņojumu par invazīvu izmantošanu . Tomēr analītiķi apgalvo, ka ir pamatoti pieņemt, ka apdraudējumu izpildītāji jau veic labojumu reverso inženieriju un kartē, kuri resursdatori ir sasniedzami un nepareizi konfigurēti.

Cik plaši izplatīta ir iedarbība mākoņvidēs

Vairāki datu punkti no mākoņa mēroga skenēšanas ilustrē problēmas apmēru. Wiz apdraudējumu mednieki ziņo, ka aptuveni 39 % no viņu analizētajām mākoņvides satur React vai Next.js gadījumus, kuros darbojas versijas, kas ir neaizsargātas pret CVE-2025-55182 un/vai CVE-2025-66478. Citi sadalījumi liecina, ka , skaitot abas tehnoloģijas kopā, skaitlis ir tuvāks 40 %.

Konkrēti aplūkojot Next.js, pats ietvars viņu datu kopā ir redzams aptuveni 69% vidēs . Ievērojams vairākums no tām mitina publiski pieejamas lietojumprogrammas, kas veidotas, izmantojot Next.js. Citiem vārdiem sakot, viņu telemetrija liecina, ka aptuveni 44% no visām mākoņvidēm ir vismaz viena internetam pieejama Next.js instance neatkarīgi no tā, vai tai pašlaik ir atjaunināti ielāpi.

Šī augstā izvietošanas blīvuma un publiskas atkarību kombinācija ir tieši tas, ko uzbrucēji meklē, izvēloties, kurās ievainojamībās ieguldīt pūles. Vienu ekspluatācijas ķēdi var atkārtoti izmantot plašā mērogā pret daudziem mērķiem ar līdzīgu iestatījumu, un automatizēti rīki var pārmeklēt veselus IP diapazonus, lai atrastu neielāpotus serverus.

Daži pakalpojumu sniedzēji strādā, lai sašaurinātu uzbrukuma rādiusu. Piemēram, Google ir norādījis, ka noklusējuma publiskie OS attēli, kas tiek izmantoti Google Cloud Compute Engine, nav neaizsargāti uzreiz pēc instalēšanas, lai gan klientiem joprojām ir jāpārbauda un jāievieš ielāpi visām lietojumprogrammām, ko viņi izvieto, izmantojot šos attēlus.

Diskusijā iesaistās arī pārdevēji, kas piedāvā tīmekļa lietojumprogrammu ugunsmūrus (WAF) . Piemēram, Cloudflare ir norādījis, ka tā WAF var palīdzēt aizsargāt dažas React lietojumprogrammas no uzbrukumu mēģinājumiem, kad datplūsma tiek pilnībā novirzīta caur pakalpojumu, lai gan šāda aizsardzība vislabāk ir uzskatīta par papildu slāni, nevis aizstājēju pamatā esošās programmatūras atjaunināšanai.

Laika grafiks, atklāšana un piegādātāja atbilde

Notikumu ķēde saistībā ar CVE-2025-55182 un CVE-2025-66478 risinājās ātri. Drošības pētnieks Laklans Deividsons identificēja problēmu veidā, kā React dekodē vērtumus, kas paredzēti React Server Function galapunktiem, un ziņoja par to, izmantojot Meta kļūdu meklēšanas programmu, novembra beigās.

React, kas sākotnēji tika izstrādāts Meta un tagad ir daudzu mūsdienu tīmekļa platformu stūrakmens, reaģēja ātri pēc ziņojuma apstiprināšanas. Aptuveni četru dienu laikā React komanda sadarbībā ar Meta izdeva ārkārtas atjauninājumus skartajām 19.x rindām, kā arī drošības brīdinājumu, kurā tika aicināts nekavējoties veikt jauninājumus.

Tajā pašā dienā Vercel paziņoja par savu brīdinājumu par Next.js ar CVE-2025-66478. Ietvara uzturētāji publicēja ielāpu versijas, norādījumus lietotājiem un informāciju par to, kā RSC ieviešana Next.js manto ievainojamo uzvedību no React servera bibliotēkām.

Daudzos publiskajos rakstos apzināti netiek sniegta detalizēta informācija par ievainojamību . Tā vietā tie koncentrējas uz riska izskaidrošanu, skarto komponentu un versiju uzskaitīšanu un lietotāju norādīšanu uz atjauninātajām versijām. Mērķis ir dot aizstāvjiem laiku labojumu ieviešanai, vienlaikus palēninot mazāk izsmalcinātu uzbrucēju darbību.

Nozares pārstāvji, tostarp pētnieki tādos uzņēmumos kā watchTowr un Rapid7, ir atkārtoti pauduši viedokli, ka šī ir augstas prioritātes problēma ikvienam, kas izmanto React vai Next.js ražošanas vidē , un ka logs pirms ielaušanās publiskai parādīšanās varētu būt īss.

Kas komandām būtu jādara tieši tagad

Organizācijām, kas izmanto React Server komponentus, Next.js vai jebkuru no RSC iespējotajiem spraudņiem un ietvariem, skaidrākais norādījums ir tāds, ka jaunināšana uz pastiprinātām versijām ir vienīgais pilnīgais risinājums problēmas risināšanai . Nav konfigurācijas slēdža, kas droši neitralizētu kļūdu, vienlaikus saglabājot neaizsargātas versijas.

React pusē tas nozīmē pāreju no skartajām 19.x versijām, piemēram, 19.0, 19.1.0, 19.1.1 un 19.2.0, uz 19.0.1, 19.1.2 vai 19.2.1 atkarībā no tā, kurai atzarai projekts ir piesprausts. Šajās versijās ir iekļautas stingrākas pārbaudes attiecībā uz Flight protokola vērtajām slodzēm un tiek novērsta nedroša deserializācijas darbība.

Next.js lietotājiem ieteicams atjaunināt uz Vercel ieteikumā izziņotajām atjauninātajām ietvara versijām , nodrošinot, ka atkarību koks ietver labotās React servera pakotnes. Pat projekti, kas savā kodā tieši neizmanto RSC, joprojām var tikt pakļauti riskam, ja ietvars zem pārsega iespējo servera komponentus.

Komandām, kas izmanto citus RSC iespējotus komplektus, tostarp Redwood, Waku, React Router RSC priekšskatījumu un RSC spraudņus Vite un Parcel, vajadzētu uzraudzīt šo projektu oficiālos kanālus. Daudzi no tiem komplektā iekļauj savas React servera izpildlaika kopijas, tāpēc to uzturētāji publicē īpašas atjaunināšanas instrukcijas un versiju numurus, ko meklēt.

Organizācijām ar lieliem mākoņpakalpojumu pārklājumiem var būt grūti zināt, kur atrodas visas ievainojamās daļas. Daži drošības pakalpojumu sniedzēji, piemēram, Wiz, savās platformās piedāvā iepriekš izveidotus vaicājumus un ieteikumus , lai palīdzētu klientiem identificēt skartās React un Next.js instances dažādās vidēs. Citi padara noteikšanas loģiku un skenēšanas noteikumus pieejamus iekšējām drošības komandām, lai tās varētu pielāgoties.

Ko tas nozīmē plašākai tīmekļa ekosistēmai

CVE-2025-55182 un CVE-2025-66478 parādīšanās izraisa plašāku diskusiju par to, kā servera puses JavaScript ietvari apstrādā sarežģītus serializācijas formātus . RSC un Flight protokols ir jaudīgi rīki mūsdienīgu lietojumprogrammu veidošanai, taču tā pati elastība, kas nodrošina uzlabotas funkcijas, var radīt arī smalkas uzbrukuma virsmas, ja parsēšanas loģika netiek rūpīgi ierobežota.

Izstrādātājiem šī epizode ir atgādinājums, ka paļaušanās uz noklusējuma ietvara darbību negarantē drošību , un cik svarīgi ir aizsargāties pret piegādes ķēdes uzbrukumiem pret npm . Šajā gadījumā parastas, standarta konfigurācijas bija pietiekamas, lai lietojumprogrammu pakļautu neautentificētai RCE. Drošības ieteikumu ievērošana, atkarību piespraušana un atjauninājumu ātra piemērošana kļūst par neapspriežamiem uzdevumiem komandām, kas piegādā uz React vai Next.js balstītus pakalpojumus.

No aizsardzības viedokļa organizācijas izmanto šo notikumu, lai pārskatītu savas slāņveida aizsardzības stratēģijas . Ielāpu ieviešana ir priekšplānā, taču daudzas apsver arī piekļuves kontroles pastiprināšanu administratīvajiem vai iekšējiem galapunktiem, WAF noteikumu ieviešanu, lai pamanītu aizdomīgu Flight protokola datplūsmu, un servera puses kļūdu novērojamības uzlabošanu, kas varētu liecināt par mēģinājumiem izmantot ievainojamību.

Šī situācija arī izceļ, cik liela daļa interneta tagad ir atkarīga no relatīvi neliela koplietotu atvērtā pirmkoda komponentu kopuma . Viena kļūda plaši izmantotā bibliotēkā var izplatīties mākoņpakalpojumu sniedzējos, SaaS platformās un uzņēmumu vidē tikai dažu dienu laikā. Koordinēta informācijas atklāšana, ātra pārdevēju reakcija un skaidra komunikācija kļūst kritiski svarīga, ja vienlaikus tiek skartas tik daudzas organizācijas.

Pašlaik uzmanības centrā ir neaizsargātu React un Next.js instalāciju nodrošināšana ar fiksētām versijām, pirms to izmantošana kļūst par ikdienišķu parādību . Tā kā pētnieki ziņo par gandrīz nevainojamu izmantošanas uzticamību, noklusējuma konfigurācijas ir neaizsargātas un ievērojama daļa mākoņvides izmanto skartās versijas, šie CVE ir ātri kļuvuši no neskaidras protokola detaļas par nopietnu operacionālu problēmu komandām, kas uztur modernas JavaScript lietojumprogrammas.

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