TL; DR
React2Shell (CVE-2025-55182) skep 'n kritieke RCE-risiko oor React-bedienerkomponente (RSC) en raamwerke wat hulle insluit, insluitend Volgende.jsOmdat die kwesbaarheid binne die RSC serialisasie- en deserialisasielaag, aanvallers kan 'n vervaardigde HTTP-versoek stuur en aktiveer ongeverifieerde uitvoering van afstandkode, selfs wanneer spanne standaardraamwerkkonfigurasies gebruik. Volgende.js aansoeke kry die hoogste blootstelling omdat hulle aanvaar en verwerk Reageer Vlug vragte oor HTTP by verstek.
Die fout raak verskeie weergawes van React-bedienerpakkette, en aanvallers benodig nie persoonlike toepassingslogika om dit te benut nie. Sekuriteitsnavorsers toon byna 100% betroubaarheid, en vroeë skanderings toon dat baie wolkomgewings kwesbaar loop Volgende.js gevalle. Spanne moet onmiddellik opdateer en hul volle ekosisteem valideer om die React2Shell (CVE-2025-55182) RCE-risiko.
'n Kritieke kwesbaarheid wat op 29 November deur Meta se bug bounty-program aangemeld is, het dringende reaksies regoor die JavaScript-ekosisteem ontlok.
Aangewese CVE-2025-55182, bekend gemaak op 3 Desember, nou bekend as React2Shell is 'n kwesbaarheid met maksimum erns wat 'n impak het Reageer Bediener Komponente saam met raamwerke wat hulle insluit. Aanvanklik is 'n aparte Next.js-kwesbaarheidsidentifiseerder (CVE-2025-66478) toegeken, maar die NVD het dit later as 'n duplikaatinskrywing in die primêre React CVE gekonsolideer.
Die onderliggende probleem is dieselfde, onveilige hantering van geserialiseerde RSC-vragte wat deur 'n HTTP-versoek geaktiveer kan word. Dit maak die deur oop vir 'n kwaadwillige akteur om 'n gemanipuleerde HTTP-versoek te stuur wat daartoe lei dat arbitrêre JavaScript op die bediener loop nadat dit ... gedeserialiseer deur React.
CVE-2025-55182 Oorsig
React Server-komponente is diep geïntegreer in moderne raamwerke, en in baie gevalle is hulle standaard geaktiveer. As gevolg hiervan kan toepassings blootgestel word aan React2Shell (CVE-2025-55182) selfs al definieer hulle nooit eksplisiet 'n Bedienerfunksie-eindpunt nie. Die RSC-implementering is steeds teenwoordig, en dit alleen is genoeg om kwesbare kodepaaie te aktiveer en 'n beduidende RCE-risiko.
Die fout spruit voort uit die manier waarop die React Flight-protokoll verwerk sekere gestruktureerde vragte. Ouer weergawes het probeer om objekpaaie wat in die vrag verskaf is, te loop sonder om te verifieer dat die struktuur geldig of verwag is. 'n Aanvaller kan hierdie proses manipuleer en uiteindelik kode-uitvoering op die bediener bereik. Geen verifikasie, geen spesiale konfigurasie en geen toepassingspesifieke logika word benodig nie. Aangesien die probleem in standaardkonfigurasies bestaan, standard ontplooiings word blootgestel sonder dat enige ongewone toestande nodig is.
Uitbuiting vind plaas wanneer aanvallers kwaadwillige HTTP POST-versoeke stuur wat die "vm.runInHierdieKonteks”-meganisme deur Bedieneraksies. Terwyl React nie die kwesbare eindpunt direk blootstel nie, doen Next.js dit wel, wat 'n egte afstandaanvalvektor skep.
Next.js aanvaar Flight-vragte van enige versoek, verwerk dit sonder behoorlike validasie en gee dit deur aan React se deserialiseerder. Die stelsel behandel hierdie eksterne insette as vertroud, wat aanvallers in staat stel om ... te bereik. uitvoering van eksterne kode deur middel van publiek toeganklike eindpunte met volle Node.js-prosesregte op die teikenbediener.
Die erns neem aansienlik toe omdat standaardkonfigurasies kwesbaar bly vir React2Shell (CVE-2025-55182) en die gevolglike RCE-risiko. Die standard Next.js-toepassing waarmee jy skep create-next-app stel homself bloot sonder om enige persoonlike kode of konfigurasieveranderinge te vereis. Sekuriteitsnavorsers bevestig byna 100% uitbuitingsbetroubaarheid en rapporteer dat 39% van wolkomgewings kwesbare gevalle gebruik, terwyl 44% van alle omgewings publiek blootgestelde Next.js-toepassings gebruik wat geraak word deur React2Shell.
Verstaan blootstelling aan React2Shell
Die kwesbare weergawes strek oor verskeie vrystellings:
| Komponent | Geaffekteerde weergawes |
|---|---|
| reageer-bediener-dom-webpak | 19.0, 19.1.0, 19.1.1, 19.2.0 |
| reageer-bediener-dom-pakkie | 19.0, 19.1.0, 19.1.1, 19.2.0 |
| reageer-bediener-dom-turbopak | 19.0, 19.1.0, 19.1.1, 19.2.0 |
Omdat baie raamwerke RSC-ondersteuning as kern insluit, erf toepassings dikwels die kwesbare kode sonder om dit te besef. Enige raamwerk of bundeler wat hierdie pakkette stuur, kan die toepassing blootstel aan React2Shell (CVE-2025-55182) en sy RCE-risiko. Dit sluit in:
- Next.js (App-roeteerder)
- React Router RSC voorskou
- Vite RSC-inprop
- Pakkie RSC-inprop
- Redwood SDK
- Waku
- Expo
Next.js word veral beïnvloed omdat dit standaard RSC-verwante eindpunte oor HTTP gebruik. Weergawes wat begin met die 14.3.0 Kanarie-boue, saam met die meeste 15.x en vroeg 16.x vrystellings, bevat die kwesbare implementering. Enigiemand wat canary gebruik 14.3.0-kanarie.77 of later moet keer terug na die stabiele 14.x tak totdat 'n gepatchte kanarieweergawe gepubliseer word.
Opgedateerde Next.js-weergawes sluit:
| Komponent | Gepatchte weergawes |
|---|---|
| Volgende.js | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
Openbare PoC's en betroubare opsporing
Na die onthulling van die kwesbaarheid het talle sogenaamde bewyse van konsepte begin sirkuleer. Baie daarvan was óf onakkuraat óf gebaseer op foutiewe aannames. Die oorspronklike outeur van die kwesbaarheid, Lachlan Davidson, het dit in die openbaar bevestig op reageer2shell dat die GitHub PoC's wat sirkuleer nie ooreenstem met die kwotasie wat privaat met React/Next.js-onderhouders gedeel is nie en het sy verskaf eie PoC.
'n Groot probleem met vroeë openbare pogings is hul onvermoë om te erken dat uitbuiting slaag teen standard Next.js-implementerings sonder dat spesifieke toepassingslogika of bedienerkantfunksies teenwoordig hoef te wees.
Sekuriteitsnavorsers van verskeie organisasies het beklemtoon dat die opsporing van die kwesbaarheid meer vereis as om bloot te identifiseer of RSC teenwoordig is. Assetnote se span het 'n betroubare opsporingsmetode en 'n skandeerder in staat om die probleem te bevestig sonder om enige aanvalslogika te gebruik. Metasploit sal binnekort 'n beskikbare aanval ook vir hierdie kwesbaarheid.
Die opsporingsbenadering maak gebruik van hoe React Server objek-eienskapverwysings hanteer deur dubbelpunt-skeiders binne die ReactFlightClientConfigBundlerWebpack.js/vereisteModule() funksie. Wanneer kwesbare weergawes 'n spesiaal gestruktureerde meerdelige vrag verwerk wat probeer om nie-bestaande geneste objekpaaie te deurkruis, veroorsaak hulle voorspelbare foutreaksies. 'n Diagnostiese versoek stuur 'n verwysingspatroon soos `$1:a:a` gepaar met 'n leë voorwerp. Kwetsbare implementerings probeer om dit op te los as geneste eiendomstoegang op 'n ongedefinieerde waarde, wat 'n uitsondering tot gevolg het. Die bediener stuur 'n 500-status terug met 'n kenmerkende foutdigestpatroon in die reaksieliggaam.
Onmiddellike aksies vir organisasies wat React2Shell (CVE-2025-55182) en die RCE-risiko in die gesig staar
Doen 'n omvattende skandering van u kodebasis en ontplooide toepassings om kwesbare pakketweergawes op te spoor. Gee spesiale aandag aan direkte React-bedienerpakketafhanklikhede, RSC-implementerings op Raamwerkvlak (Next.js, Waku, Redwood, ens.), toepassings wat gebou is met `create-next-app` of soortgelyke steierwerkgereedskap en toepassings in houers wat verouderde basisbeelde kan bevat.
Sagteware-samestelling-analise (SCA) gereedskap soos Xygeni's SCA kan outomaties geaffekteerde afhanklikhede dwarsdeur jou sagteware-inventaris ontdek.
Laai onmiddellik op:
Opdatering na opgedateerde weergawes soos React (19.0.1, 19.1.2, 19.2.1), Next.js (15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7) en enige raamwerkpakkette wat RSC insluit. Hierdie opdaterings stel streng validering vir RSC-vraghantering bekend en voorkom die onveilige eienskap-dereferencing wat uitbuiting moontlik maak.
Geoutomatiseerde remediëringsinstrumente, soos Xygeni se outomatiese remediëringsfunksie, kan die proses oor groot kodebasisse versnel.
Implementeer tydelike WAF-beskermings:
Terwyl kolle deur jou ontplooiing versprei pipeline, aktiveer Webtoepassing-firewallreëls vir onmiddellike beskerming. Groot wolkverskaffers het noodreëlstelle vrygestel, CloudflareOutomatiese beskerming vir alle vlakke wanneer React-verkeer geproxi word, sowel as AWS, Akamai, Fastly, Google Cloud soortgelyke verdedigingsreëls beskikbaar hê Aktiveer hierdie kontroles onmiddellik om 'n beskermende laag gedurende die oorgangstydperk te skep.
Monitor vir verdagte HTTP-verkeer:
Konfigureer logging en waarskuwings vir aanwysers van uitbuitingspogings: Misvormde of onverwagte RSC Flight-protokolvragte, ongewone patrone van 500 foute op RSC-eindpunte, POST-versoeke met verdagte `Next-Action`- of `Next-Router-State-Tree`-opskrifte, Herhaalde versoeke na `/_next/`-paaie met veelvuldige vragte
Verifieer jou sagteware-materiaallys:
Baie raamwerke bundel RSC-afhanklikhede deursigtig, wat hulle onsigbaar maak in oppervlakkige afhanklikheidsoorsigte. Ondersoek jou volledige SBOM om te verseker: Geen oorganklike afhanklikhede op kwesbare React-bedienerpakkette bly oor nie, raamwerkopdaterings het nie onbedoeld ouer RSC-implementerings bekendgestel nie.
Sluitingsdatum Gedagtes
React2Shell is een van die ernstigste kwesbaarhede in die JavaScript-ekosisteem van die afgelope paar jaar, nie omdat die kwesbaarheid kompleks is nie, maar omdat RSC so diep deur vandag se gereedskap loop. Noudat kolle regoor die ekosisteem beskikbaar is, moet spanne opgraderings so vinnig as moontlik in produksie stoot.
Indien jou toepassing React se bedienerfunksies gebruik, hetsy direk of indirek, moet jy hierdie kwesbaarheid as 'n topprioriteitsoplossing hanteer.





