React2Shell - CVE-2025-55182 - Hatari ya RCE

React2Shell: CVE-2025-55182 na Hatari ya Next.js RCE

TL; DR

React2Shell (CVE-2025-55182) huunda jambo muhimu Hatari ya RCE hela Vipengele vya Seva ya Mwitikio (RSC) na mifumo inayoziunganisha, ikiwa ni pamoja na IjayoKwa sababu udhaifu huishi ndani ya RSC safu ya uainishaji na uondoaji wa serial, washambuliaji wanaweza kutuma ombi la HTTP lililotengenezwa na kichocheo Utekelezaji wa msimbo wa mbali ambao haujaidhinishwa, hata wakati timu zinaendesha usanidi chaguo-msingi wa mfumo. Ijayo Programu zinakabiliwa na mfiduo mkubwa zaidi kwa sababu zinakubali na kusindika Ndege ya Mwitikio malipo ya juu ya HTTP kwa chaguo-msingi.

Dosari hiyo huathiri matoleo mengi ya Vifurushi vya seva ya React, na washambuliaji hawahitaji mantiki ya programu maalum ili kuitumia vibaya. Watafiti wa usalama wanaonyesha uaminifu wa karibu 100%, na uchunguzi wa mapema unaonyesha kuwa mazingira mengi ya wingu yana hatari ya kuathiriwa Ijayo Mifano. Timu lazima zirekebishe mara moja na kuthibitisha mfumo wao kamili wa ikolojia ili kupunguza Hatari ya RCE ya React2Shell (CVE-2025-55182).

Udhaifu mkubwa ulioripotiwa kupitia mpango wa Meta wa kutoa hitilafu mnamo Novemba 29 umesababisha majibu ya haraka katika mfumo mzima wa JavaScript.

Mteule CVE-2025-55182, iliyofichuliwa mnamo Desemba 3 ambayo sasa inajulikana kama React2Shell ni udhaifu mkubwa unaoathiri Vipengele vya Seva ya React pamoja na mifumo inayozijumuisha. Hapo awali, kitambulisho tofauti cha udhaifu cha Next.js (CVE-2025-66478) kilitolewa, lakini NVD baadaye ilikiunganisha katika React CVE ya msingi kama ingizo linalorudiwa.

Suala la msingi ni ushughulikiaji uleule usio salama wa mijadala ya RSC iliyopangwa mfululizo ambayo inaweza kuanzishwa kupitia ombi la HTTP. Hii inafungua mlango kwa mtendaji hasidi kutuma ombi la HTTP lililobadilishwa ambalo husababisha JavaScript ya kiholela kuendeshwa kwenye seva baada ya kuwa imeondolewa kwenye orodha ya vipengele na React.

Muhtasari wa CVE-2025-55182

Vipengele vya Seva ya React vimeunganishwa kwa undani katika mifumo ya kisasa, na katika hali nyingi huwashwa kwa chaguo-msingi. Kwa sababu hii, programu zinaweza kuathiriwa na React2Shell (CVE-2025-55182) hata kama hawajawahi kufafanua waziwazi sehemu ya mwisho ya Kazi ya Seva. Utekelezaji wa RSC bado upo, na hilo pekee linatosha kuamsha njia za msimbo zilizo hatarini na kuunda muhimu Hatari ya RCE.

Dosari hiyo inatokana na jinsi Itifaki ya React Flightl huchakata baadhi ya vipakiaji vilivyopangwa. Matoleo ya zamani yalijaribu kutembea njia za vitu vilivyotolewa kwenye kipakiaji bila kuthibitisha kwamba muundo ulikuwa halali au uliotarajiwa. Mshambuliaji anaweza kubadilisha mchakato huu na hatimaye kufikia utekelezaji wa msimbo kwenye seva. Hakuna uthibitishaji, hakuna usanidi maalum, na hakuna mantiki maalum ya programu inayohitajika. Kwa kuwa tatizo lipo katika usanidi wa nje ya kisanduku, standard Utekelezaji huwekwa wazi bila kuhitaji hali yoyote isiyo ya kawaida.

Unyonyaji hutokea wakati washambuliaji wanapotuma maombi mabaya ya HTTP POST ambayo hutumia vibaya "vm.runInThisContext" utaratibu kupitia Vitendo vya Seva. Ingawa React haifichui moja kwa moja sehemu ya mwisho iliyo hatarini, Next.js hufanya hivyo, na kuunda vekta halisi ya mashambulizi ya mbali. 

Next.js hukubali mizigo ya Flight kutoka kwa ombi lolote, huichakata bila uthibitishaji sahihi, na kuipitisha kwa kigeuzi cha React. Mfumo huchukulia ingizo hizi za nje kama zinazoaminika, na kuwezesha washambuliaji kufikia utekelezaji wa msimbo wa mbali kupitia sehemu za mwisho zinazoweza kufikiwa hadharani na marupurupu kamili ya mchakato wa Node.js kwenye seva lengwa. 

Ukali huongezeka kwa kiasi kikubwa kwa sababu usanidi chaguo-msingi unabaki katika hatari ya React2Shell (CVE-2025-55182) na matokeo yake Hatari ya RCE. A standard Programu ya Next.js unayounda nayo create-next-app hujifichua bila kuhitaji msimbo maalum au mabadiliko yoyote ya usanidi. Watafiti wa usalama wanathibitisha uaminifu wa unyonyaji wa karibu 100% na wanaripoti kwamba 39% ya mazingira ya wingu yana hali hatarishi, huku 44% ya mazingira yote yakifichuliwa hadharani na programu za Next.js zilizoathiriwa na React2Shell.

Kuelewa Mfiduo wa React2Shell

Matoleo yaliyo hatarini yanajumuisha matoleo mengi:

SehemuMatoleo Yaliyoathiriwa
react-server-dom-webpack19.0, 19.1.0, 19.1.1, 19.2.0
kifurushi-cha-kikoa-cha-seva-cha-kikoa19.0, 19.1.0, 19.1.1, 19.2.0
pakiti ya turbopak ya itikadi-ya-seva19.0, 19.1.0, 19.1.1, 19.2.0

Kwa sababu mifumo mingi hupachika usaidizi wa RSC katikati, programu mara nyingi hurithi msimbo dhaifu bila kutambua. Mfumo au kifurushi chochote kinachosafirisha vifurushi hivi kinaweza kuifichua programu kwa React2Shell (CVE-2025-55182) na hatari yake ya RCE. Hiyo inajumuisha:

  • Next.js (Kipanga njia cha programu)
  • Onyesho la awali la RSC la Kipanga Njia cha Kujibu
  • Programu-jalizi ya Vite RSC
  • Programu-jalizi ya RSC ya Kifurushi
  • SDK ya Redwood
  • Waku
  • Expo

Next.js huathiriwa haswa kwa sababu hutumia sehemu za mwisho zinazohusiana na RSC juu ya HTTP kwa chaguo-msingi. Matoleo yanayoanza na 14.3.0 majengo ya korongo, pamoja na wengi 15.x na mapema 16.x kutolewa, kunajumuisha utekelezaji dhaifu. Mtu yeyote anayeendesha canary 14.3.0-canary.77 au baadaye inapaswa rudi kwenye imara 14.x tawi hadi toleo la canary lililorekebishwa litakapochapishwa.

Matoleo ya Next.js yaliyorekebishwa ni pamoja na:

SehemuMatoleo Yaliyorekebishwa
Ijayo15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7

PoC za Umma na Ugunduzi Unaoaminika

Kufuatia ufichuzi wa udhaifu, dhana nyingi zinazodhaniwa kuwa uthibitisho wa dhana zilianza kusambaa. Nyingi kati ya hizo hazikuwa sahihi au zilitokana na dhana zenye dosari. Mwandishi wa awali wa udhaifu, Lachlan Davidson, alithibitisha hadharani mnamo react2shell kwamba GitHub PoC zinazozunguka hazilingani na matumizi yaliyoshirikiwa faragha na watunzaji wa React/Next.js na zilitoa PoC mwenyewe

Tatizo kubwa la majaribio ya awali ya umma ni kushindwa kwao kutambua kwamba unyonyaji hufanikiwa dhidi ya standard Utekelezaji wa Next.js bila kuhitaji mantiki maalum ya programu au vitendakazi vya upande wa seva kuwepo.

Watafiti wa usalama kutoka mashirika mengi wamesisitiza kwamba kugundua udhaifu kunahitaji zaidi ya kutambua tu kama RSC ipo. Timu ya Assetnote ilichapisha a njia ya kugundua inayoaminika na kuchanganua inayoweza kuthibitisha suala hilo bila kutumia mantiki yoyote ya unyonyaji. Metasploit hivi karibuni itakuwa na matumizi yanayopatikana kwa udhaifu huu pia. 

Mbinu ya kugundua hutumia jinsi React Server inavyoshughulikia marejeleo ya sifa za vitu kwa kutumia vidhibiti vya koloni ndani ya ReactFlightClientConfigBundlerWebpack.js/requireModule() kitendakazi. Wakati matoleo dhaifu yanapochakata mzigo wa sehemu nyingi uliopangwa maalum ambao unajaribu kupitia njia zisizopo za vitu vilivyowekwa kwenye viota, husababisha majibu ya hitilafu yanayoweza kutabirika. Ombi la uchunguzi hutuma muundo wa marejeleo kama vile `$1:a:a` Imeunganishwa na kitu tupu. Utekelezaji unaoweza kuathiriwa hujaribu kutatua hili kama ufikiaji wa sifa zilizowekwa kwenye thamani isiyobainishwa, na kusababisha ubaguzi. Seva hurejesha hali ya 500 yenye muundo tofauti wa kuchambua hitilafu katika mwili wa majibu. 

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]]; }  

Hatua za Haraka kwa Mashirika Yanayokabiliana na React2Shell (CVE-2025-55182) na Hatari ya RCE

Fanya uchanganuzi kamili wa mfumo wako wa msimbo na programu zilizotumika ili kupata matoleo ya vifurushi vilivyo hatarini. Zingatia sana utegemezi wa moja kwa moja wa vifurushi vya seva ya React, utekelezaji wa RSC wa kiwango cha Mfumo (Next.js, Waku, Redwood, n.k.), programu zilizojengwa kwa `create-next-app` au zana zinazofanana za kiunzi na programu zilizo kwenye kontena ambazo zinaweza kuwa na picha za msingi zilizopitwa na wakati.

Uchambuzi wa Muundo wa Programu (SCA) zana kama Xygeni's SCA inaweza kugundua kiotomatiki utegemezi ulioathiriwa katika orodha yako yote ya programu. 

Kiraka mara moja:

Sasisho la matoleo yaliyorekebishwa kama vile 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) na vifurushi vyovyote vya mfumo vinavyojumuisha RSC. Masasisho haya yanaanzisha uthibitisho mkali kwa ajili ya utunzaji wa mzigo wa RSC na kuzuia uondoaji wa marejeleo ya mali usio salama unaowezesha unyonyaji. 

Vifaa vya kurekebisha kiotomatiki, kama vile Kipengele cha Xygeni cha kurekebisha kiotomatiki, inaweza kuharakisha mchakato katika besi kubwa za msimbo.

Tekeleza Ulinzi wa Muda wa WAF:

Wakati viraka vinaenea kupitia usanidi wako pipeline, washa sheria za Firewall za Programu ya Wavuti kwa ajili ya ulinzi wa haraka. Watoa huduma wakuu wa wingu wametoa seti za sheria za dharura, cloudflare: Ulinzi otomatiki kwa ngazi zote wakati trafiki ya React imeunganishwa na pia AWS, Akamai, Haraka, Wingu la Google kuwa na sheria zinazofanana za ulinzi zinazopatikana. Washa vidhibiti hivi mara moja ili kuunda safu ya kinga wakati wa kipindi cha mpito.

Fuatilia trafiki ya HTTP inayotiliwa shaka:

Sanidi kumbukumbu na arifa kwa viashiria vya majaribio ya unyonyaji: Mizigo ya malipo ya itifaki ya RSC Flight isiyo na umbo au isiyotarajiwa, mifumo isiyo ya kawaida ya hitilafu 500 kwenye sehemu za mwisho za RSC, maombi ya POST yenye vichwa vya habari vya `Next-Action` au `Next-Router-State-Tree` vinavyotiliwa shaka, Maombi yanayorudiwa kwa njia za `/_next/` zenye mizigo ya malipo ya sehemu nyingi

Thibitisha Hati Yako ya Vifaa vya Programu:

Mifumo mingi huunganisha utegemezi wa RSC kwa uwazi, na kuifanya isionekane katika mapitio ya utegemezi wa kiwango cha juu. Chunguza ukamilifu wako SBOM ili kuhakikisha: Hakuna utegemezi wa mpito kwenye vifurushi vya seva ya React vilivyo hatarini vilivyosalia, masasisho ya mfumo hayajaanzisha utekelezaji wa RSC wa zamani bila kukusudia.

Kufunga Thoughts

React2Shell inaorodheshwa miongoni mwa udhaifu mkubwa zaidi wa mfumo ikolojia wa JavaScript katika miaka ya hivi karibuni, si kwa sababu unyonyaji ni mgumu bali kwa sababu RSC inaendeshwa kwa undani sana kupitia zana za leo. Sasa kwa kuwa viraka vinapatikana katika mfumo ikolojia wote, timu lazima zisukume uboreshaji katika uzalishaji haraka iwezekanavyo.

Ikiwa programu yako inatumia vipengele vya seva ya React, iwe moja kwa moja au kwa njia isiyo ya moja kwa moja, lazima uchukulie udhaifu huu kama suluhisho la kipaumbele.

zana-za-sca-za-uchambuzi-wa-muundo-wa-programu
Weka kipaumbele, rekebisha, na ulinde hatari za programu yako
Pata Akaunti yako ya Bure.
Hakuna kadi ya mkopo inayotakiwa.

Linda Uundaji na Uwasilishaji wa Programu yako

na Xygeni Product Suite