TL; DR
React2Shell (CVE-2025-55182) erstellt eng kritesch RCE-Risiko iwwerall React Server Komponenten (RSC) a Kader, déi se integréieren, dorënner Next.jsWell d'Verletzlechkeet dobannen läit séngem Serialiséierungs- a Deserialisatiounsschicht, kënnen Attacker eng crafted HTTP-Ufro schécken an ausléisen net authentifizéiert Ferncodeausféierung, och wann d'Équipen Standard-Framework-Konfiguratiounen benotzen. Next.js Umeldungen hunn déi héchst Belaaschtung, well se akzeptéieren a veraarbechten Reakt Fluch Payloads standardméisseg iwwer HTTP.
De Feeler betrëfft verschidde Versioune vun React Server Paketen, an Attacker brauchen keng personaliséiert Applikatiounslogik fir se auszenotzen. Sécherheetsfuerscher weisen eng bal 100% Zouverlässegkeet, an éischt Scans weisen datt vill Cloud-Ëmfeld vulnérabel lafen. Next.js Instanzen. Équipen mussen direkt patchen a validéiert hiert ganzt Ökosystem fir ze schrumpfen React2Shell (CVE-2025-55182) RCE-Risiko.
Eng kritesch Schwachstelle, déi de 29. November iwwer de Bug Bounty-Programm vu Meta gemellt gouf, huet dréngend Reaktiounen am ganze JavaScript-Ökosystem ausgeléist.
Designéiert CVE-2025-55182, den 3. Dezember verëffentlecht, elo bekannt als React2Shell ass eng Schwachstelle mat maximaler Schwierigkeet, déi Auswierkungen huet React Server Komponenten zesumme mat Frameworks, déi se integréieren. Ufanks gouf eng separat Next.js Schwachstelle-Identifikator (CVE-2025-66478) zougewisen, awer den NVD huet se spéider als en duebelen Eintrag an de primäre React CVE konsolidéiert.
De Grondproblem ass datselwecht, eng onsécher Ëmgang mat serialiséierten RSC-Payloads, déi duerch eng HTTP-Ufro ausgeléist kënne ginn. Dëst mécht d'Dier fir e béiswëllegen Akteur op, eng manipuléiert HTTP-Ufro ze schécken, déi dozou féiert, datt arbiträr JavaScript um Server leeft, nodeems en ... deserialiséiert vu React.
CVE-2025-55182 Iwwersiicht
React Server Komponenten sinn déif an modern Frameworks integréiert a sinn a ville Fäll standardméisseg aktivéiert. Dofir kënnen Applikatiounen ausgesat sinn React2Shell (CVE-2025-55182) och wann se ni explizit en Serverfunktiounsendpunkt definéieren. D'RSC-Implementatioun ass nach ëmmer präsent, an dat eleng ass genuch fir vulnérabel Codeweeër z'aktivéieren an e bedeitenden RCE-Risiko.
De Feeler kënnt vun der Aart a Weis, wéi de React Flight Protokolll veraarbecht bestëmmte strukturéiert Notzlaaschten. Méi al Versioune hunn probéiert, Objetweeër an der Notzlaascht ze verfollegen, ouni ze verifizéieren, ob d'Struktur gëlteg oder erwaart war. En Ugräifer kéint dëse Prozess manipuléieren an schlussendlech d'Codeausféierung um Server erreechen. Keng Authentifikatioun, keng speziell Konfiguratioun a keng app-spezifesch Logik erfuerderlech. Well de Problem a Standardkonfiguratiounen existéiert, standard Deployments ginn ouni ongewéinlech Konditiounen ausgesat.
Ausbeutung geschitt wann Attacker béiswëlleg HTTP POST Ufroen schécken, déi de "vm.runInThisContext„Mechanismus iwwer Serveraktiounen. Wärend React den ufällegen Endpunkt net direkt exposéiert, mécht Next.js dat, wouduerch e richtege Fernattackvektor erstallt gëtt.
Next.js akzeptéiert Flight-Payloads vun all Ufro, veraarbecht se ouni eng korrekt Validatioun a gëtt se un den Deserializer vu React weider. De System behandelt dës extern Inputen als vertrauenswierdeg, sou datt Attacker ... der Ausféierung vum Code duerch ëffentlech zougänglech Endpunkten mat volle Node.js Prozessrechter um Zilserver.
D'Gravitéit klëmmt däitlech, well Standardkonfiguratiounen nach ëmmer vulnérabel sinn. React2Shell (CVE-2025-55182) an déi doraus resultéierend RCE-Risiko. A standard Next.js Applikatioun, mat där Dir erstellt create-next-app setzt sech selwer aus, ouni datt e personaliséierte Code oder Konfiguratiounsännerungen néideg sinn. Sécherheetsfuerscher bestätegen eng bal 100% Ausbeutungszouverlässegkeet a berichten, datt 39% vun de Cloud-Ëmfeld vulnérabel Instanzen ausféieren, während 44% vun allen Ëmfeld ëffentlech ausgesat Next.js Applikatiounen ausféieren, déi dovunner betraff sinn. React2Shell.
D'Expositioun géint React2Shell verstoen
Déi vulnérabel Versioune betreffen verschidde Verëffentlechungen:
| Komponent | Betraff Versiounen |
|---|---|
| react-server-dom-webpack | 19.0, 19.1.0, 19.1.1, 19.2.0 |
| react-server-dom-parcel | 19.0, 19.1.0, 19.1.1, 19.2.0 |
| react-server-dom-turbopack | 19.0, 19.1.0, 19.1.1, 19.2.0 |
Well vill Frameworks RSC-Ënnerstëtzung am Kär integréieren, ierwen d'Applikatiounen dacks de vulnérabele Code ouni et ze realiséieren. All Framework oder Bundler, deen dës Pakete verschéckt, kann d'Applikatioun dem React2Shell (CVE-2025-55182) an dem RCE-Risiko aussetzen. Dozou gehéieren:
- Next.js (App-Router)
- Virschau vun der React Router RSC
- Vite RSC Plugin
- Parcel RSC Plugin
- Redwood SDK
- waku
- Expo
Next.js ass besonnesch betraff, well et standardméisseg RSC-bezunn Endpunkten iwwer HTTP benotzt. Versiounen, déi mat der ufänken 14.3.0 Kanaresch Builds, zesumme mat de meeschten 15.x a fréi 16.x Versiounen, enthalen déi vulnérabel Implementatioun. Jiddereen deen Canary ausféiert 14.3.0-kanarie.77 oder spéider soll zréck op den stabil 14.x branch bis eng gepatchte Kanarieversioun publizéiert gëtt.
Gepatchte Next.js Versiounen gehéiert:
| Komponent | Patched Versiounen |
|---|---|
| Next.js | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
Öffentlech PoCs a zouverlässeg Detektioun
Nom Opdecke vun der Schwachstelle sinn eng Rei vermeintlech Beweiser fir Konzepter am Ëmlaf komm. Vill dovunner waren entweder ongenau oder baséiert op falschen Unnahmen. Den ursprénglechen Auteur vun der Schwachstelle, de Lachlan Davidson, huet ëffentlech bestätegt den react2shell datt d'GitHub PoCs, déi zirkulieren, net mam Exploit iwwereneestëmmen, deen privat mat de React/Next.js Maintainer gedeelt gouf, an huet seng geliwwert eegent PoC.
E grousst Problem mat fréie ëffentleche Versich ass hire Versoen ze erkennen, datt d'Ausbeutung géint ... erfollegräich ass. standard Next.js-Deployments ouni datt spezifesch Applikatiounslogik oder Server-Säit Funktiounen präsent sinn.
Sécherheetsfuerscher vu verschiddenen Organisatiounen hunn betount, datt d'Detektioun vun der Schwachstelle méi erfuerdert wéi nëmmen ze identifizéieren, ob RSC präsent ass. D'Team vun Assetnote huet eng ... publizéiert zouverléisseg Detektiounsmethod an engem Scanner fäeg, de Problem ze bestätegen, ouni iergendeng Exploit-Logik ze benotzen. Metasploit wäert geschwënn en hunn verfügbaren Exploit och fir dës Schwachstelle.
Den Detektiounsansatz notzt d'Aart a Weis, wéi de React Server Objekt-Eegeschaftsreferenzen mat Hëllef vu Kolon-Trennzeechen am ... behandelt. ReactFlightClientConfigBundlerWebpack.js/requireModule() Funktioun. Wann vulnérabel Versiounen eng speziell strukturéiert Multipart-Notzuel veraarbechten, déi probéiert, net existent verschachtelt Objetweeër ze duerchlafen, léisen se virauszegesinn Fehlerreaktiounen aus. Eng diagnostesch Ufro schéckt e Referenzmuster wéi `$1:a:a` mat engem eidele Objet gepaart. Verletzlech Implementatioune probéieren dëst als verschachtelten Eegenschaftszougang op engem ondefinéierte Wäert ze léisen, wat zu enger Ausnam féiert. De Server gëtt e Status 500 mat engem markanten Fehlerdigest-Muster am Äntwertkierper zréck.
export function requireModule<T>(metadata: ClientReference<T>): T { let moduleExports = __webpack_require__(metadata[ID]); if (isAsyncImport(metadata)) { if (typeof moduleExports.then !== 'function') { // This wasn't a promise after all. } else if (moduleExports.status === 'fulfilled') { // This Promise should've been instrumented by preloadModule. moduleExports = moduleExports.value; } else { throw moduleExports.reason; } } if (metadata[NAME] === '*') { // This is a placeholder value that represents that the caller imported this // as a CommonJS module as is. return moduleExports; } if (metadata[NAME] === '') { // This is a placeholder value that represents that the caller accessed the // default property of this if it was an ESM interop module. return moduleExports.__esModule ? moduleExports.default : moduleExports; } return moduleExports[metadata[NAME]]; } Direkt Moossname fir Organisatiounen, déi mat React2Shell (CVE-2025-55182) an dem RCE-Risiko konfrontéiert sinn
Maacht e komplette Scan vun Ärer Codebasis an den installéierten Applikatiounen fir vulnérabel Paketversiounen ze lokaliséieren. Gitt besonnesch Opmierksamkeet op direkt React Server Paketofhängegkeeten, RSC-Implementatiounen op Framework-Niveau (Next.js, Waku, Redwood, etc.), Applikatiounen, déi mat `create-next-app` oder ähnlechen Scaffolding-Tools gebaut goufen, a containeriséiert Applikatiounen, déi eventuell veraltet Basisbiller enthalen.
Analyse vun der Softwarekompositioun (SCA) Tools wéi Xygeni's SCA kann automatesch betraffe Ofhängegkeeten an Ärem Softwareinventar entdecken.
Patch direkt:
Aktualiséierunge fir gepatcht Versiounen wéi 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) an all Framework-Pakete mat RSC. Dës Aktualiséierunge féieren eng strikt Validatioun fir d'Handhabung vun RSC-Payloads an a verhënneren d'Dereferenzéierung vun onséchere Property-Properties, déi d'Ausbeutung erméiglecht.
Automatiséiert Remediatiounsinstrumenter, wéi z.B. D'Auto-Remediatiounsfunktioun vun Xygeni, kann de Prozess iwwer grouss Codebasen beschleunegen.
Temporär WAF-Schutzméiglechkeeten implementéieren:
Wärend Patches sech duerch Ären Deployment verbreeden pipeline, aktivéiert d'Webapplikatiouns-Firewall-Regele fir direkten Schutz. Grouss Cloud-Ubidder hunn Noutfallregelen erausginn, CloudflareAutomatesche Schutz fir all Tiers wann de React-Traffic iwwer e Proxy benotzt gëtt, souwéi AWS, Akamai, Fastly, Google Cloud ähnlech defensiv Reegele verfügbar hunn Aktivéiert dës Kontrollen direkt fir eng Schutzschicht während der Iwwergangsperiod ze kreéieren.
Iwwerwaachung op verdächtegen HTTP-Traffic:
Konfiguréiert d'Protokollverwaltung an d'Alarméierung fir Indikatoren fir Ausbeutungsversich: Fehlforméiert oder onerwaart RSC Flight Protokoll-Payloads, ongewéinlech Mustere vu 500 Feeler op RSC Endpunkten, POST-Ufroen mat verdächtege `Next-Action` oder `Next-Router-State-Tree` Headern, Widderholl Ufroen op `/_next/` Weeër mat méideelege Payloads
Iwwerpréift Är Software-Materiallëscht:
Vill Frameworks bündelen RSC-Ofhängegkeeten transparent, sou datt se an Ofhängegkeetsiwwerpréiwunge op der Uewerfläch onsichtbar sinn. Ënnersicht Är komplett Iwwerpréiwung. SBOM fir sécherzestellen: Et bleiwen keng transitiv Ofhängegkeeten op vulnérabel React Server Paketen méi do, Framework-Updates hunn net ongewollt méi al RSC Implementatiounen agefouert.
Closing Thoughts
React2Shell gehéiert zu de schwéiersten Schwachstelle vum JavaScript-Ökosystem an de leschte Joren, net well den Exploit komplex ass, mä well RSC sou déif an den haitegen Tools integréiert ass. Well elo Patches am ganze Ökosystem verfügbar sinn, mussen d'Teams Upgrades sou séier wéi méiglech a Produktioun bréngen.
Wann Är Applikatioun d'Serverfeatures vu React benotzt, egal ob direkt oder indirekt, musst Dir dës Schwachstelle als eng Top-Prioritéit-Léisung behandelen.






