React2Shell - CVE-2025-55182 - RCE riski

React2Shell: CVE-2025-55182 və Next.js RCE Riski

TL; DR

React2Shell (CVE-2025-55182) kritik bir yaradır RCE riski arasından React Server Komponentləri (RSC) və onları yerləşdirən çərçivələr, o cümlədən Sonrakı.jsÇünki zəiflik içəridə yaşayır. RSC seriallaşdırma və deseriallaşdırma təbəqəsi, təcavüzkarlar hazırlanmış HTTP sorğusu və tetikleyici göndərə bilərlər təsdiqlənməmiş uzaqdan kod icrası, hətta komandalar standart çərçivə konfiqurasiyalarını işlətdikdə belə. Sonrakı.js Tətbiqlər qəbul edib emal etdikləri üçün ən yüksək təsirə məruz qalırlar Reaksiya Uçuşu standart olaraq HTTP üzərindən yüklənmələr.

Qüsur birdən çox versiyaya təsir göstərir React server paketləri, və hücum edənlərin bundan istifadə etmək üçün xüsusi tətbiq məntiqinə ehtiyacı yoxdur. Təhlükəsizlik tədqiqatçıları demək olar ki, 100% etibarlılıq göstərirlər və erkən skanlamalar bir çox bulud mühitinin həssas işlədiyini göstərir. Sonrakı.js instansiyalar. Komandalar dərhal yenilənməlidir və kiçiltmək üçün tam ekosistemlərini təsdiqləyin React2Shell (CVE-2025-55182) RCE riski.

29 noyabrda Meta-nın səhv mükafatı proqramı vasitəsilə bildirilən kritik bir boşluq, JavaScript ekosistemində təcili reaksiyalara səbəb oldu.

Təsdiqləndi CVE-2025-55182, 3 dekabrda açıqlandı və indi adlanır React2Shell təsir edən maksimum ciddilik zəifliyidir Reaksiya Server Komponentləri onları özündə birləşdirən çərçivələrlə birlikdə. Əvvəlcə ayrıca Next.js zəiflik identifikatoru (CVE-2025-66478) təyin edildi, lakin NVD sonradan onu dublikat giriş kimi əsas React CVE-yə birləşdirdi.

Əsas problem, HTTP sorğusu vasitəsilə tetiklenebilen seriallaşdırılmış RSC yüklərinin eyni, təhlükəli şəkildə işlənməsidir. Bu, zərərli bir aktyorun serverdə ixtiyari JavaScript-in işə salınması ilə nəticələnən manipulyasiya edilmiş HTTP sorğusu göndərməsinə imkan yaradır. React tərəfindən seriyadan çıxarılıb.

CVE-2025-55182 Baxış

React Server Komponentləri müasir çərçivələrə dərindən inteqrasiya olunub və bir çox hallarda standart olaraq aktivləşdirilir. Buna görə də, tətbiqlər aşağıdakılara məruz qala bilər: React2Shell (CVE-2025-55182) hətta heç vaxt Server Funksiyasının son nöqtəsini açıq şəkildə təyin etməsələr belə. RSC tətbiqi hələ də mövcuddur və təkcə bu, həssas kod yollarını aktivləşdirmək və əhəmiyyətli bir şey yaratmaq üçün kifayətdir. RCE riski.

Qüsur, yoldan qaynaqlanır React Uçuş protokolul müəyyən strukturlaşdırılmış faydalı yükləri emal edir. Köhnə versiyalar, strukturun etibarlı və ya gözlənilən olduğunu yoxlamadan faydalı yükdə verilən obyekt yollarını keçməyə cəhd etdi. Hücumçu bu prosesi manipulyasiya edə və nəticədə serverdə kod icrasına nail ola bilər. Heç bir identifikasiya, xüsusi konfiqurasiya və tətbiqə xas məntiq tələb olunmur. Problem hazır konfiqurasiyalarda mövcud olduğundan, standard yerləşdirmələr heç bir qeyri-adi şəraitə ehtiyac olmadan açıq qalır.

İstismar, təcavüzkarlar ""dan sui-istifadə edən zərərli HTTP POST sorğuları göndərdikdə baş verir.vm.runInThisContext"mexanizmi Server Actions vasitəsilə. React həssas son nöqtəni birbaşa ifşa etməsə də, Next.js bunu edir və əsl uzaqdan hücum vektoru yaradır. 

Next.js istənilən sorğudan Flight faydalı yüklərini qəbul edir, onları lazımi doğrulama olmadan emal edir və React-in seriyalaşdırıcısına ötürür. Sistem bu xarici girişləri etibarlı hesab edir və bu da hücum edənlərin nail olmasına imkan verir. uzaqdan kod icrası ictimaiyyətə açıq olan son nöqtələr vasitəsilə tam Node.js proses imtiyazları ilə hədəf serverdə. 

Ciddilik əhəmiyyətli dərəcədə artır, çünki standart konfiqurasiyalar həssas olaraq qalır React2Shell (CVE-2025-55182) və nəticədə RCE riski. A standard Yaratdığınız Next.js tətbiqi create-next-app heç bir xüsusi kod və ya konfiqurasiya dəyişikliyi tələb etmədən özünü göstərir. Təhlükəsizlik tədqiqatçıları istismarın təxminən 100% etibarlılığını təsdiqləyir və bulud mühitlərinin 39%-nin həssas instansiyalarla işlədiyini, bütün mühitlərin 44%-nin isə ictimaiyyətə açıq Next.js tətbiqlərini işlətdiyini bildirirlər. React2Shell.

React2Shell-ə ​​məruz qalmanın anlaşılması

Həssas versiyalar bir neçə buraxılışı əhatə edir:

Komponent Təsirə məruz qalan versiyalar
reaksiya server-dom-veb paketi 19.0, 19.1.0, 19.1.1, 19.2.0
reaksiya-server-dom-parsel 19.0, 19.1.0, 19.1.1, 19.2.0
reaksiya server-dom-turbopack 19.0, 19.1.0, 19.1.1, 19.2.0

Bir çox çərçivələr əsasda RSC dəstəyini özündə birləşdirdiyindən, tətbiqlər çox vaxt həssas kodu fərqinə varmadan miras alırlar. Bu paketləri göndərən hər hansı bir çərçivə və ya paketləyici tətbiqi React2Shell (CVE-2025-55182) və onun RCE riskinə məruz qoya bilər. Buraya aşağıdakılar daxildir:

  • Next.js (Tətbiq yönləndiricisi)
  • React Router RSC önizləməsi
  • Vite RSC plagini
  • Parsel RSC plagini
  • Redwood SDK
  • Vaku
  • Expo

Next.js xüsusilə təsirlənir, çünki standart olaraq HTTP üzərindən RSC ilə əlaqəli son nöqtələrdən istifadə edir. 14.3.0 kanareyka quruluşları, əksəriyyəti ilə birlikdə 15.x və erkən 16.x buraxılışlar, həssas implementasiyanı ehtiva edir. Canary işlədən hər kəs 14.3.0-kanary.77 və ya daha sonra olmalıdır qayıtmaq sabit 14.x yamaqlanmış kanareyka versiyası dərc olunana qədər budaqlayın.

Yamalanmış Next.js versiyaları daxil:

Komponent Yamalı Versiyalar
Sonrakı.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7

İctimai PoC-lar və Etibarlı Aşkarlama

Zəiflik açıqlandıqdan sonra çoxsaylı iddia edilən sübut konsepsiyaları yayılmağa başladı. Onların bir çoxu ya qeyri-dəqiq, ya da qüsurlu fərziyyələrə əsaslanırdı. Zəiflik haqqında ilkin müəllif Lachlan Davidson ictimaiyyətə təsdiqlədi react2shell dövriyyədə olan GitHub PoC-larının React/Next.js dəstəkləyiciləri ilə gizli şəkildə paylaşılan istismarla uyğun gəlmədiyini və onun öz PoC

İlkin ictimai cəhdlərin əsas problemi istismarın uğur qazandığını qəbul etməmələridir standard Next.js yerləşdirmələri, müəyyən tətbiq məntiqi və ya server tərəfindəki funksiyaların mövcudluğunu tələb etmədən.

Bir çox təşkilatın təhlükəsizlik tədqiqatçıları vurğulayıblar ki, zəifliyin aşkarlanması sadəcə RSC-nin mövcud olub-olmadığını müəyyən etməkdən daha çox şey tələb edir. Assetnote komandası bir məqalə dərc edib etibarlı aşkarlama metodu və bir oxuyucusu heç bir istismar məntiqindən istifadə etmədən problemi təsdiqləyə bilir. Metasploit tezliklə bir mövcud istismar həm də bu zəifliyə görə. 

Aşkarlama yanaşması, React Server-in obyekt xüsusiyyəti istinadlarını iki nöqtəli işarələrdən istifadə edərək necə idarə etdiyindən istifadə edir. ReactFlightClientConfigBundlerWebpack.js/requireModule() funksiyası. Zəif versiyalar mövcud olmayan iç içə obyekt yollarını keçməyə çalışan xüsusi strukturlaşdırılmış çoxhissəli faydalı yükü emal etdikdə, proqnozlaşdırıla bilən səhv cavablarını tetikler. Diaqnostik sorğu, məsələn, istinad nümunəsi göndərir `$1:a:a` boş obyektlə qoşalaşmış. Zəif tətbiqlər bunu müəyyən edilməmiş bir dəyər üzərində iç içə xüsusiyyətə giriş kimi həll etməyə çalışır və nəticədə istisna yaranır. Server cavab gövdəsində fərqli bir səhv həzm nümunəsi ilə 500 statusu qaytarır. 

React2Shell (CVE-2025-55182) və RCE riski ilə üzləşən təşkilatlar üçün təxirəsalınmaz tədbirlər

Kod bazanızın və yerləşdirilən tətbiqlərinizin hərtərəfli skanını aparın Həssas paket versiyalarını tapmaq üçün. Birbaşa React server paket asılılıqlarına, Framework səviyyəli RSC tətbiqlərinə (Next.js, Waku, Redwood və s.), `create-next-app` və ya oxşar iskele alətləri ilə qurulmuş tətbiqlərə və köhnəlmiş əsas şəkillər ehtiva edə biləcək konteynerləşdirilmiş tətbiqlərə xüsusi diqqət yetirin.

Proqram Təminatı Tərkibi Təhlili (SCA) kimi alətlər Xygeni's SCA proqram təminatı inventarınız boyunca təsirlənmiş asılılıqları avtomatik olaraq aşkar edə bilər. 

Dərhal yamaqlayın:

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) və RSC daxil olan hər hansı çərçivə paketləri kimi yamaqlanmış versiyalara yeniləmə. Bu yeniləmələr RSC faydalı yükünün idarə olunması üçün ciddi validasiya tətbiq edir və istismara imkan verən təhlükəli xüsusiyyətin təxirə salınmasının qarşısını alır. 

Avtomatlaşdırılmış bərpa vasitələri, məsələn Xygeni-nin avtomatik bərpa xüsusiyyəti, böyük kod bazalarında prosesi sürətləndirə bilər.

Müvəqqəti WAF Qorumalarını Tətbiq Edin:

Yamalar yerləşdirməniz vasitəsilə yayılarkən pipeline, təcili qorunma üçün Veb Tətbiq Firewall qaydalarını aktivləşdirin. Əsas bulud provayderləri təcili qaydalar dəstlərini buraxdılar, CloudflareReact trafiki proksi edildikdə bütün səviyyələr üçün avtomatik qorunma AWS, Akamai, Fastly, Google Cloud Keçid dövründə qoruyucu təbəqə yaratmaq üçün bu nəzarətləri dərhal aktivləşdirin.

Şübhəli HTTP trafikini izləyin:

İstismar cəhdlərinin göstəriciləri üçün qeydiyyatı və xəbərdarlıqları konfiqurasiya edin: Səhv və ya gözlənilməz RSC Uçuş protokolu yüklənmələri, RSC son nöqtələrində 500 səhvdən ibarət qeyri-adi nümunələr, şübhəli `Növbəti Fəaliyyət` və ya `Növbəti Router-Vəziyyət Ağacı` başlıqları ilə POST sorğuları, çoxhissəli yüklənmə ilə `/_növbəti/` yollarına təkrarlanan sorğular

Proqram təminatı materialları siyahısınızı təsdiqləyin:

Bir çox çərçivə, RSC asılılıqlarını şəffaf şəkildə birləşdirir və bu da onları səthi asılılıq icmallarında görünməz edir. Tam versiyanızı yoxlayın SBOM təmin etmək üçün: Zəif React server paketlərində heç bir keçid asılılığı qalmır, çərçivə yeniləmələri təsadüfən köhnə RSC tətbiqlərini təqdim etməyib.

Yekun düşüncələr

React2Shell, son illərdə JavaScript ekosistemindəki ən ciddi zəifliklər arasında yer alır, çünki bu, istismarın mürəkkəb olması deyil, RSC-nin bugünkü alətlərdə çox dərindən işlədiyi üçündür. Artıq yamalar ekosistemdə mövcud olduğundan, komandalar mümkün qədər tez bir zamanda yeniləmələri istehsalata keçirməlidirlər.

Tətbiqiniz React-in server xüsusiyyətlərindən birbaşa və ya dolayı yolla istifadə edirsə, bu zəifliyi prioritet həll yolu kimi qəbul etməlisiniz.

sca-tools-proqram-kompozisiya-analiz-alətləri
Proqram təminatı risklərinizi prioritetləşdirin, aradan qaldırın və təhlükəsizləşdirin
Pulsuz Hesabınızı əldə edin.
Kredit kartı tələb olunmur.

Proqram təminatınızın hazırlanması və çatdırılmasını təmin edin

Xygeni Məhsul Dəsti ilə