
تحليل فني مفصّل لثغرة CVE-2025-55182 (React2Shell)، وهي ثغرة RCE حرجة في React Server Components، بما في ذلك الحزم المتأثرة وآليات الاستغلال ودليل التصحيح.
CVE-2025-55182 (“React2Shell”) هي ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد (RCE) داخل مكونات خادم React (RSC) — وتحديدًا في منطق إلغاء تسلسل بروتوكول React Flight.
محرك خادم React يحلّل البيانات القادمة من المتصفح بشكل غير صحيح.
يمكن للمهاجم إرسال طلب HTTP مصمم خصيصًا إلى خادمك.
يخدع هذا الطلب بيئة تشغيل خادم React لتنفيذ أكواد JavaScript عشوائية على الخادم.
وهذا يسمح للمهاجمين بـ:
create-next-app النظيفةإذا كان موقعنا يستخدم React 19 أو Next.js مع App Router، فيجب أن نفترض أننا عرضة للخطر حتى يتم تطبيق التصحيح.
قائمة كاملة وموثقة بالحزم والإصدارات المتأثرة:
| Package | Vulnerable Versions | Patched Versions |
|---|---|---|
react-server-dom-webpack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
react-server-dom-parcel | نفس ما سبق | نفس ما سبق |
react-server-dom-turbopack | نفس ما سبق | نفس ما سبق |
هذه الحزم مرتبطة بـ مكونات خادم React (RSC) — السبب الجذري.
تستخدم هذه الأطر RSC داخليًا، لذا فهي ورثت الثغرة:
| Framework / Tool | Affected? | Notes |
|---|---|---|
| Next.js (App Router) | نعم | الأكثر تأثرًا. الثغرة مُتتبعة باسم CVE-2025-66478 (المدمجة الآن في CVE-2025-55182). |
| Vite RSC Plugin | نعم | أي تثبيت يستخدم React Server Components. |
| Parcel RSC Plugin | نعم | لنفس السبب. |
| React Router RSC Preview | نعم | يتضمن منطق خادم RSC. |
| RedwoodJS RSC (RedwoodSDK) | نعم | يستخدم بيئة تشغيل RSC. |
| Waku | نعم | بيئة تشغيل تجريبية مبنية على RSC. |
| أي إطار يتضمن خادم React 19 RSC | نعم | يجب مراجعة النشرات الأمنية الخاصة بهم. |
الإرشادات الأمنية الرسمية والكاملة للبقاء في أمان.
قم بالترقية إلى الإصدارات المصححة:
"react-server-dom-webpack": "19.0.1" or "19.1.2" or "19.2.1"
"react-server-dom-parcel": "same"
"react-server-dom-turbopack": "same"
Run:
npm install react-server-dom-webpack@latest react-server-dom-parcel@latest react-server-dom-turbopack@latest
قم بالترقية إلى إصدارات Next.js المصححة:
| Major Version | Safe Version |
|---|---|
| 14.x (stable) | أحدث إصدار أمني من سلسلة 14.x |
| 15.x | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 |
| 16.x | 16.0.7 |
Run:
npm install next@latest
الحل البديل (إصلاح مؤقت وأقل توصية من الوثائق الرسمية)هذه الإجراءات لا تحل المشكلة تمامًا — لكنها تقلل التعرض للخطر لفترة قصيرة:
قم بحظر أو تقييد معدل طلبات POST بصيغة multipart/form-data الموجهة إلى:
/app//actionsيعتمد المهاجمون على أجزاء multipart غير صالحة لتشغيل الاستغلال.