CVE-2025-55182 React un Next.js: Kā React2Shell ievainojamība apdraud mūsdienu tīmekļa lietotnes

Pēdējā atjaunošana: 12/04/2025
  • Kritisks CVE-2025-55182 trūkums React Server komponentos nodrošina neautentificētu attālinātu koda izpildi, izmantojot nedrošu deserializāciju.
  • Problēma kaskādes veidā izplatās uz Next.js kā CVE-2025-66478, un abas ievainojamības ir novērtētas ar maksimālo nopietnības pakāpi (CVSS 10).
  • Tiek atklātas noklusējuma konfigurācijas, un pētnieki ziņo par gandrīz 100% uzticamības izmantošanu daudzās reālās pasaules vidēs.
  • Pārdevēji ir izlaiduši vadlīnijas un ielāpus, un organizācijām, kas izmanto React vai Next.js, nekavējoties jāatjaunina un jāpārskata savi izvietojumi.

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

CVE-2025-55182 atklāšana React Server Components un ar to saistītā ietekme uz Next.js ir ātri kļuvusi par vienu no visvairāk apspriestajiem drošības stāstiem tīmekļa izstrādes pasaulē. Šī nepilnība atklāj kritisku ceļu uzbrucējiem, lai panāktu attālinātu koda izpildi serveros, kas izmanto šīs ļoti populārās tehnoloģijas.

Komandām, kas ir pieņēmušas moderno React un Next.js steku, šī nav abstrakta akadēmiska kļūda. Drošības pētnieki brīdina, ka izmantošana ir gan reālistiska, gan ļoti uzticama , un ka noklusējuma konfigurācijas daudzas ražošanas izvietošanas padara negaidīti neaizsargātas pret uzbrukumiem, ja tās netiek ātri atjauninātas.

“React2Shell”: kritiska ievainojamība, kas satricina tīmekli — un kāpēc tā ir svarīga

Šīs situācijas centrā esošā ievainojamība, kas publiski reģistrēta kā CVE-2025-55182 , ietekmē React Server Components (RSC) protokolu. Pētnieki ir devuši šim izmantošanas ceļam iesauku “React2Shell”, lai uzsvērtu, ka veiksmīgs uzbrukums var pāriet no izstrādāta RSC pieprasījuma uz pilnīgu piekļuvi apvalka līmenī pamatā esošajā serverī.

Augstā līmenī trūkums rodas React Server funkciju galapunktiem sniegto vērtumu nedrošas deserializācijas dēļ . Kad servera komponents apstrādā šīs speciāli izveidotās vērtuma slodzes, uzbrucējs var pārslēgties no šķietami nekaitīgas datu apstrādes uz patvaļīgu koda izpildi bez nepieciešamības autentificēties.

Lai gan pamatproblēma slēpjas React atvērtā pirmkoda ieviešanā, tās ietekme ar to nebeidzas. Next.js, kas balstās uz React un tiek plaši izmantots ražošanas līmeņa lietojumprogrammām , pārmanto problēmu servera puses loģikas apstrādē. Šis lejupējais risks ir atsevišķi katalogizēts kā CVE-2025-66478, efektīvi paplašinot izplatības rādiusu lielā daļā mūsdienu tīmekļa steka.

Saskaņā ar kopējo ievainojamību vērtēšanas sistēmu gan CVE-2025-55182, gan tā Next.js versijai ir piešķirts maksimālais nopietnības vērtējums 10. Šis vērtējums atspoguļo attālinātas izmantošanas, autentifikācijas prasību trūkuma un pilnīgas sistēmas kompromitēšanas potenciāla kombināciju.

Kas ir React2Shell — un kā tas darbojas?

Zem pārsega React Server komponenti balstās uz protokolu, kurā klients un serveris apmainās ar serializētām slodzēm, lai apstrādātu servera puses renderēšanu un loģiku. React2Shell pamatā ir tas, ka šīs slodzes var manipulēt tā, lai izraisītu nedrošu deserializāciju , efektīvi ļaujot uzbrucēja kontrolētu ievadi interpretēt kā izpildāmas instrukcijas serverī.

Tipiskā uzbrukuma scenārijā pretinieks izveido ļaunprātīgu vērtumu, kas ir vērsts pret React Server Function galapunktu, kuru atklāj lietojumprogramma . Tā kā ievainojamību var aktivizēt bez autentifikācijas, uzbrucējam ir nepieciešama tikai tīkla piekļuve galapunktam, lai mēģinātu to izmantot.

Kad ļaunprātīgā vērtuma slodze ir apstrādāta, serveris var to nedrošā veidā deserializēt, faktiski sapludinot robežu starp datiem un kodu. Tas paver durvis attālinātai koda izpildei , dodot uzbrucējam iespēju izpildīt patvaļīgas komandas ar servera procesa atļaujām.

Saskaņā ar Wiz pētnieku publiski kopīgotajiem atklājumiem, izmantošanas ceļš nav tikai teorētisks. Iekšējo eksperimentu laikā viņi ziņoja par “augstas precizitātes” izmantošanu, kuras veiksmes rādītājs testētajās vidēs tuvojās 100%. Šāds uzticamības līmenis ievērojami pazemina uzbrucēju šķēršļus un palielina aizstāvju steidzamību, kā tas ilustrē uzbrukumu gadījumus npm pārskata laikā.

Praktiķiem tas ir īpaši satraucoši, jo šāda ievainojama uzvedība ir novērojama jau noklusējuma konfigurācijās . Citiem vārdiem sakot, izstrādātājiem nebija obligāti jāizvēlas nedroši iestatījumi; daudzas lietojumprogrammas ir neaizsargātas vienkārši tāpēc, ka tās izmanto standarta, ieteicamo drošības steku.

Darbības joma un ietekme: kāpēc tik daudzi projekti ir apdraudēti

Iesaistītās tehnoloģijas padara šo problēmu par īpaši izplatītu. React, kas radās Facebook un tagad tiek uzturēta kā atvērtā pirmkoda bibliotēka, ir pamatā lielai daļai mūsdienu tīmekļa saskarņu, pateicoties tā uz komponentiem balstītajam modelim un ekosistēmai. Next.js, ko uztur Vercel, ir kļuvis par galveno ietvaru ražošanai gatavu React lietojumprogrammu veidošanai ar servera puses renderēšanu un API maršrutiem.

Šīs popularitātes dēļ skarto izvietojumu skaits nav niecīgs. Wiz pētnieki lēsa, ka aptuveni 40% no viņu pārbaudītajām mākoņvides saturēja neaizsargātus React vai Next.js gadījumus . Šis momentuzņēmums liecina, ka kļūda nav retums, bet gan plaša mēroga problēma daudzās organizācijās un nozarēs.

Veiksmīgas izmantošanas praktiskā ietekme var būt nopietna. Kad uzbrucēji, izmantojot CVE-2025-55182 vai ar to saistīto Next.js ievainojamību, iegūst attālinātu koda izpildi , viņi var potenciāli piekļūt sensitīviem datiem, pārvietoties sāniski vidē, izveidot aizmugures durvis vai izmantot apdraudētus serverus kā pieturvietas turpmākiem uzbrukumiem.

Bendžamins Hariss, watchTowr dibinātājs un izpilddirektors, uzsvēra, ka, lai gan publiska tehniskā informācija joprojām ir relatīvi ierobežota, ielāpu publicēšana ir pietiekama, lai sniegtu norādījumus apņēmīgiem uzbrucējiem . Tiklīdz viņi sāk pārskatīt koda izmaiņas un ieteikumus, kļūst ievērojami vieglāk reproducēt ekspluatācijas ceļu un padarīt to par ieroci.

Šī dinamika — ielāpu publiskošana pirms plaša mēroga labojumu ieviešanas — bieži vien rada sacensību. Organizācijas tagad efektīvi konkurē ar apdraudējumu izpildītājiem par labojumu un mazināšanas pasākumu ieviešanu, pirms tiek pastiprināti mēģinājumi izmantot ievainojamības.

Kāpēc React2Shell ir īpaši bīstams

Vairāku faktoru kombinācija atšķir šo ievainojamību no ierastās drošības ieteikumu plūsmas. Pirmkārt, autentifikācijas prasību trūkums nozīmē, ka anonīmi uzbrucēji var tieši mērķēt uz neaizsargātiem galapunktiem . Jebkurš publiski pieejams servera komponenta galapunkts nekavējoties kļūst par uzbrukuma virsmas daļu.

Otrkārt, veids, kā kļūda izpaužas reālās pasaules iestatījumos, nodrošina ārkārtīgi augstu izmantošanas uzticamību . Kā ziņoja Wiz, tipiskās konfigurācijās izmantošanas ceļš darbojās gandrīz vienmēr viņu koncepcijas pierādīšanas scenārijos, samazinot nepieciešamību pēc sarežģītām vai trauslām uzbrukumu ķēdēm.

Treškārt, problēma skar pašu React Server komponentu un Next.js servera puses loģikas apstrādes būtību. Tā kā trūkums ir saistīts ar pašu RSC protokolu, nevis tikai ar šauras malas funkciju , daudzas lietojumprogrammas pārmanto risku, vienkārši sekojot oficiālās dokumentācijas ieteiktajiem standarta modeļiem.

Visbeidzot, svarīgs ir plašāks ekosistēmas konteksts. React un Next.js ir dziļi integrēti mākoņdatošanas un mikropakalpojumu arhitektūrās , kas nodrošina visu, sākot no maziem jaunuzņēmumiem līdz lieliem uzņēmumiem. Viens apdraudēts servera komponents varētu nodrošināt ieejas punktu daudz lielākā un sarežģītākā vidē.

Kopā šīs īpašības izskaidro, kāpēc abas ievainojamības ir novērtētas ar maksimālo nopietnības līmeni un kāpēc drošības kopiena stingri mudina uz ātru ielāpu ieviešanu un proaktīvu riska novērtēšanu, nevis nogaidošu pieeju.

Kas jau tiek darīts (un kas jums būtu jādara tieši tagad)

Kad problēma tika ziņota, izmantojot Meta Bug Bounty programmu ( pētnieks Laklans Deividsons 29. novembrī paziņoja React komandai ), uzturētāji sāka izmeklēt, novērst problēmu un koordinēt tās atklāšanu. Gan React projekts, gan Vercel, uzņēmums, kas izstrādā Next.js, tagad ir publicējuši norādījumus, lai palīdzētu lietotājiem atjaunināt programmatūru.

No pārdevēja puses ielāpu laidienos un konsultatīvajās piezīmēs ir norādīts, kuras versijas ir skartas un kā veikt jaunināšanu . Organizācijām, kas izmanto React Server komponentus vai Next.js, rūpīgi jāpārskata šie dokumenti, jānosaka, kuras izvietošanas ir iekļautas darbības jomā, un jāplāno atjauninājumi kā galvenā prioritāte.

Ņemot vērā, ka noklusējuma konfigurācijas ir neaizsargātas, vienkārši pieņemt, ka “pielāgoti iestatījumi” vai minimāla lietošana nodrošinās aizsardzību, ir riskanti. Drošības komandām ir jāinventarizē visas lietojumprogrammas, kas balstās uz React Server komponentiem vai Next.js , pievēršot īpašu uzmanību publiski pieejamiem galapunktiem, kas ir pakļauti internetam.

Lai gan ielāpu ieviešana ir galvenais solis, ir lietderīgi apsvērt arī īstermiņa risku mazināšanas pasākumus. Servera komponentu galapunktu nevajadzīgas publiskas iedarbības ierobežošana , tīkla piekļuves kontroles pastiprināšana, ja iespējams, un aizdomīgu pieprasījumu modeļu uzraudzības uzlabošana var samazināt risku atjauninājumu ieviešanas laikā, kā arī slepenības drošības pārvaldības pārskatīšana GitHub Actions.

Organizācijas var arī vēlēties cieši sadarboties ar savām izstrādes komandām, lai pārskatītu reģistrēšanu, incidentu reaģēšanas plānus un jebkādas neparastas aktivitātes pazīmes saistībā ar React vai Next.js pakalpojumiem, tostarp Burp Collaborator lietošanu , lai atklātu mijiedarbību starp grupām.

Ko tas nozīmē tīmekļa ekosistēmai — un kam pievērst uzmanību

CVE-2025-55182 un tā Next.js līdzinieka parādīšanās rada plašākus jautājumus par to, kā strauji attīstošies tīmekļa ietvari pārvalda drošību sarežģītās servera puses funkcijās . React Server komponenti, lai arī jaudīgi, ievieš jaunus saziņas modeļus un serializācijas loģiku, kas prasa stingru pārbaudi.

Plašākai ekosistēmai šis incidents ir atgādinājums, ka pat nobriedušas, plaši ieviestas tehnoloģijas var saturēt augstas ietekmes ievainojamības, kas sakņojas smalkās ieviešanas detaļās . Veiktspējas optimizācijas, izstrādātāju ērtību un elastīgu API kombinācija dažkārt var maskēt dziļus drošības pieņēmumus, līdz pētnieki tos pārbauda izturīgi.

Turpmāk, visticamāk, gan React, gan Next.js kopienās pastiprināta uzmanība tiks pievērsta servera funkciju drošai apstrādei, vērtuma serializācijai un noklusējuma konfigurācijām . Drošības ziņā apzinīgas organizācijas var arī pieprasīt skaidrākas vadlīnijas, precīzākas aizsardzības iespējas un paplašinātu dokumentāciju par drošu praksi, veidojot servera komponentus.

Tikmēr aizstāvjiem rūpīgi jāseko līdzi atjauninājumiem no oficiālajiem projekta kanāliem, drošības pārdevējiem un pētniekiem, kuri turpina analizēt ievainojamību. Jauni koncepcijas pierādījumi, noteikšanas noteikumi un labākās prakses ieteikumi, visticamāk, parādīsies, arvien vairāk ekspertiem iedziļinoties React2Shell un tā variantu detaļās.

Galu galā šī epizode uzsver, ka mūsdienu tīmekļa sistēmu drošības nodrošināšana ir nepārtraukts process , nevis vienreizējs iestatīšanas uzdevums. Attīstoties ietvariem, mainās arī to potenciālās uzbrukuma virsmas, un organizācijas, kas ātri pielāgojas, parasti gūst labākus panākumus, kad atklājas kritiski trūkumi.

Jebkurai komandai, kas ražošanas vidē paļaujas uz React vai Next.js, CVE-2025-55182 kalpo kā skaidrs signāls: izturēties pret servera puses funkcijām ar tādu pašu drošības stingrību kā pret jebkuru citu kritisko infrastruktūru , sekot līdzi augšupējiem ieteikumiem un būt gataviem ātri reaģēt, ja rodas problēmas ar šāda līmeņa ietekmi.

Šajā rakstā ir izmantota informācija, ko sākotnēji publicēja kiberdrošības jomas un pārdevēju ieteikumi, uzsverot, kā React2Shell ir strauji kļuvis no privāta ziņojuma par steidzamu prioritāti organizācijām visā tīmeklī.

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