Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-55182-React-Server-Components-Flight-React2Shell- — استشارة وتحليل لـ CVE-2025-55182 (React2Shell) RSC Flight deserialization RCE، مع تفصيل السبب الجذري، ومسار الهجوم، وفروق التصحيح، وقواعد كشف Sigma/Suricata/WAF. | Kitploit
أدوات/GitHubGitHub/certbn/cve-2025-55182-react-server-components-flight-react2shell-
إدارة مؤشرات الاختراق (IOC)تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباستخبارات التهديداتالأوراق والأبحاثالاستجابة للحوادث

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHub
certbn/cve-2025-55182-react-server-components-flight-react2shell-

CVE-2025-55182-React-Server-Components-Flight-React2Shell-

استشارة وتحليل لـ CVE-2025-55182 (React2Shell) RSC Flight deserialization RCE، مع تفصيل السبب الجذري، ومسار الهجوم، وفروق التصحيح، وقواعد كشف Sigma/Suricata/WAF.

عرض المستودع
1منذ 2 أياملم تتم المراجعة بعد

CVE-2025-55182: تنفيذ تعليمات برمجية عن بُعد عبر إلغاء تسلسل بروتوكول Flight في مكونات خادم React (React2Shell)

CVSS Type KEV Ransomware

تاريخ آخر تحقق: 2026-11-04 (KST). لم تُدرج سوى القيم التي تم التحقق منها من المصادر في قسم المراجع أدناه، وفي حال اختلاف القيم بين المصادر تم إدراجها جميعًا.

📌 باختصار

  • ما هي: في عملية إلغاء تسلسل (deserialization) بروتوكول Flight الخاص بمكوّنات خادم React (RSC)، لا يتم التحقق من أسماء الخصائص في مسار المرجع، مما يسمح للمهاجم بالوصول عبر سلسلة النموذج الأولي (prototype chain) إلى مُنشئ Function وتنفيذ JavaScript عشوائي.
  • أين: react-server-dom-webpack / -parcel / -turbopack الإصدارات 19.0.0 و19.1.0 و19.1.1 و19.2.0 والأُطر التي تستخدمها — وعلى رأسها Next.js 15.x / 16.x App Router. حتى لو لم تُعرّف Server Function مباشرةً، فإنك تتأثر بمجرد دعمك لـ RSC.
  • مدى خطورتها: RCE دون مصادقة عبر طلب HTTP واحد (CVSS 10.0). بدأت مجموعة مرتبطة بالصين استغلالها خلال ساعات من الإفصاح العلني، وهي الآن مُدرجة في CISA KEV وحالة استغلالها في برامج الفدية "Known".

📋 المعلومات الأساسية

العنصرالمحتوى
معرّف CVECVE-2025-55182 (React) / تم رفض CVE-2025-66478 الخاص بـ Next.js باعتباره مكررًا (Rejected)
الاسم البديلReact2Shell
تاريخ الإفصاح2025-12-03 (توصية فريق React، وتم نشر التصحيح في اليوم نفسه)
المكتشفLachlan Davidson (تم الإبلاغ عبر Meta Bug Bounty في 2025-11-29)
المنتجات/الإصدارات المتأثرةreact-server-dom-webpack، react-server-dom-parcel، react-server-dom-turbopack 19.0.0، 19.1.0، 19.1.1، 19.2.0 / Next.js 14.3.0-canary.77 وما بعده من canary، 15.x، 16.x (App Router)
إصدارات التصحيحإصلاح RCE: 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
الإصدار النهائي الموصى به (بما في ذلك الثغرات اللاحقة): React 19.0.3 / 19.1.4 / 19.2.3 (انظر "الثغرات اللاحقة" أدناه)
CVSS v3.110.0 حرج — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0لم يتم التحقق منه من المصادر الأولية وقت كتابة هذا المستند
CWECWE-502 إلغاء تسلسل البيانات غير الموثوقة (Vercel GHSA-9qr9-h5gf-34mp، GitLab Advisory DB). لم يُذكر CWE في إدخال CISA KEV
الاستغلال الفعليتم تأكيد الاستغلال. أُدرج في CISA KEV بتاريخ 2025-12-05، الموعد النهائي لإجراءات الوكالات الفيدرالية 2025-12-12، الاستخدام في حملات الفدية: Known. رصدت AWS محاولات استغلال في غضون ساعات من الإفصاح

تفاصيل نطاق التأثير

المكوّنالإصدارات المتأثرةالإصدار المُصحَّح
react-server-dom-webpack / -parcel / -turbopack19.0.019.0.1 (يُوصى بـ 19.0.3)
〃19.1.0, 19.1.119.1.2 (يُوصى بـ 19.1.4)
〃19.2.019.2.1 (يُوصى بـ 19.2.3)
Next.js 15.x (App Router)15.0 ~ ما قبل تصحيحات 15.515.0.5 / 15.1.9 / 15.2.6 / 15.3.6 / 15.4.8 / 15.5.7
Next.js 16.x (App Router)أقل من 16.0.716.0.7
Next.js canary14.3.0-canary.77 فأعلى15.6.0-canary.58 / 16.1.0-canary.12 (على مستخدمي 14.3 canary الرجوع إلى 14.x stable)
أدوات تكامل RSC الأخرىReact Router (واجهة RSC غير المستقرة)، Waku، إضافة Parcel RSC، إضافة Vite RSC (@vitejs/plugin-rsc)، RedwoodSDK، Expo وغيرهاأحدث إصدار من كل أداة + react-server-dom-* المُصحَّح

غير متأثر: تطبيقات React العميلة البحتة التي لا تستخدم خادمًا، Next.js 13.x / 14.x stable، تطبيقات Pages Router، عمليات نشر Edge Runtime.

الثغرات اللاحقة (تنبيه عند تحديد الإصدار المُصحَّح)

بعد تصحيح React2Shell، كشفت أبحاث إضافية على RSC عن ثغرات متتالية ليست من نوع RCE. تم إصلاح RCE نفسه في 19.0.1 / 19.1.2 / 19.2.1، لكن لسد الثغرات أدناه أيضًا يلزم استخدام أحدث إصدار.

CVEالنوعCVSS v3.1تاريخ الكشفالإصدار المُصلح
CVE-2025-55184حجب الخدمة (DoS)7.52025-12-1119.0.2 / 19.1.3 / 19.2.2 (غير مكتمل)
CVE-2025-55183كشف الشيفرة المصدرية5.32025-12-1119.0.2 / 19.1.3 / 19.2.2
CVE-2025-67779حجب الخدمة (DoS) بسبب تصحيح غير مكتمل لـ CVE-2025-551847.52025-12-1219.0.3 / 19.1.4 / 19.2.3

تصف بعض مقالات شركات الأمن (مثل تحديث Zscaler) الأمر بأنه "كان التصحيح الأصلي لـ CVE-2025-55182 غير مكتمل". لكن وفقًا لاستشارات React وGitLab، فإن ما كان غير مكتمل هو تصحيح حجب الخدمة (CVE-2025-55184)، ولم نتمكن من تأكيد مصدر أولي يفيد بتجاوز تصحيح تنفيذ الشيفرة عن بُعد (RCE). في كلتا الحالتين، الإجراء الموصى به هو الترقية إلى 19.0.3 / 19.1.4 / 19.2.3 أو أحدث.

التواريخ الرئيسية

التاريخالحدث
2025-11-29أبلغ Lachlan Davidson عبر برنامج Meta Bug Bounty
2025-11-30أكّد باحثو أمن Meta المشكلة، وبدأ العمل على التصحيح مع فريق React
2025-12-03نشر استشارة React والتصحيح (19.0.1 / 19.1.2 / 19.2.1)، واستشارة Next.js (CVE-2025-66478). ونشرت شركات السحابة وWAF قواعد حماية بعد مشاركتها مسبقًا
2025-12-03 ~ 04رصدت AWS محاولات استغلال من مجموعات مرتبطة بالصين (Earth Lamia، Jackpot Panda) خلال ساعات من الكشف. ورصدت Zscaler أكثر من 4,100 محاولة استغلال خلال أول ساعتين
2025-12-05إدراج CVE في قائمة CISA KEV (الموعد النهائي 12-12). ورصدت Microsoft نشاط استغلال فعلي اعتبارًا من هذا اليوم
2025-12-11الكشف عن الثغرتين التاليتين CVE-2025-55184 / 55183
2025-12-12الكشف عن CVE-2025-67779 (التصحيح غير المكتمل)، وإصدار 19.0.3 / 19.1.4 / 19.2.3
2025-12-15نشرت Microsoft تحليلًا للنشاط اللاحق للاستغلال ودليلًا للبحث والتحري

🔍 تحليل السبب الجذري للثغرة (Root Cause)

1. الخلفية: بروتوكول Flight والـ chunks

يتبادل RSC البيانات بين العميل والخادم عبر بروتوكول تسلسل خاص يُسمى Flight. عندما يستدعي العميل Server Function، يرسل المتصفح الوسائط في طلب POST من نوع multipart/form-data، ويصبح كل حقل نموذج chunk واحدًا مرقّمًا.

  • يُعبَّر عن النوع عبر بادئة نصية. مثال: $<id> مرجع إلى قيمة chunk آخر، و$@<id> مرجع إلى كائن الـ chunk نفسه، و$B<id> معالجة Blob.
  • الـ chunk كائن thenable يمتلك دالة then(). عندما يواجه await في JavaScript كائنًا thenable فإنه يستدعي then()، وإذا كانت النتيجة thenable أخرى يستمر في الاستدعاء تعاقبيًا.

2. ما الذي حدث: استكشاف خصائص دون تحقق في getOutlinedModel()

تقوم getOutlinedModel() في معالج استجابة Flight على جانب الخادم (packages/react-server/src/ReactFlightReplyServer.js) بتقسيم المراجع بصيغة $<id>:<prop1>:<prop2> على أساس :، ثم تتبع الخصائص في الـ chunk الهدف بالترتيب chunk[prop1][prop2].

في هذه الأثناء، لم يتم التحقق مما إذا كان اسم الخاصية خاصية ذاتية للكائن (own property). لذلك كان بالإمكان الوصول إلى خصائص موروثة بأسماء مثل __proto__ وconstructor وprototype.

3. لماذا: الوصول إلى كائنات خطرة عبر سلسلة النموذج الأولي (CWE-502)

في JavaScript، يُعد constructor.constructor لأي كائن هو المُنشئ العام Function، الذي يستقبل نصًا وينشئ دالة قابلة للتنفيذ. ووفقًا لتحليلات منشورة (OPSWAT، Zscaler)، يجمع المهاجم بين أمرين.

العنصرطريقة الاستغلال (مفاهيميًا)
استكشاف سلسلة النموذج الأوليالوصول إلى الدوال الداخلية (Chunk.prototype.then) ومُنشئ Function عبر مسار المرجع
التحليل التعاقبي لـ then()يُعامَل الـ chunk المزيف الذي يبنيه المهاجم ككائن thenable، فيثق محرك إلغاء التسلسل بحالته كما هي
معالج $B (Blob)اعتراض مسار استدعاء الدوال في كائن الاستجابة الداخلي لدفع شيفرة المهاجم إلى مُنشئ Function

4. كيف: يُنفَّذ قبل المصادقة

في Next.js، تمر طلبات Server Function عبر handleAction() إلى إلغاء تسلسل Flight في React. يُنفَّذ إلغاء التسلسل قبل التحقق من أي Server Function سيُستدعى. لذلك تتم معالجة الحمولة حتى لو كانت قيمة ترويسة Next-Action لا تشير إلى إجراء موجود فعليًا، أو كانت تشير إلى نقطة نهاية تقع خلف تسجيل الدخول (OPSWAT). كما تتأثر بنية create-next-app الإنتاجية الافتراضية دون أي إعداد إضافي.

تنزيل الأداة