
PoC لـ CVE-2025-55183
يحتوي هذا المستودع على أدوات كشف لثغرة إفصاح عن الكود المصدري
في Next.js React Server Components (RSC) / Server Actions، المسجَّلة باسم
CVE-2025-55183.
في التطبيقات الضعيفة، يمكن لطلب HTTP مُصمَّم بعناية يُرسَل إلى دالة خادم (Server Function) أن يتسبب في قيام الخادم بإرجاع الكود المصدري الكامل بلغة JavaScript لتلك الدالة عند تحويل المرجع إلى نص (على سبيل المثال، عبر القوالب النصية أو التحويل الضمني في استعلامات قواعد البيانات).
يضيف إصلاح React تجاوزًا لـ toString() لمراجع الخادم بحيث يُرجع
سلسلة نصية نائبة ثابتة بدلاً من النص الفعلي للدالة. قد تستمر التطبيقات
التي تعمل بإصدارات أقدم في تسريب الكود المصدري إذا تم تحويل مراجع الخادم
إلى نص بصورة مباشرة أو غير مباشرة وإعادة انعكاسها إلى العميل.
⚠️ إشعار قانوني:
هذه الأدوات مخصصة لاختبار الأمان والبحث على الأنظمة التي تملكها أو مصرَّح لك باختبارها صراحةً. قد يكون الفحص أو الاستغلال غير المصرح به غير قانوني.
CVE-2025-55183.yaml_next/static/chunks/*.jsالمعرّف: CVE-2025-55183
المكوّن: React Server Components / Server Actions في تطبيقات Next.js
الأثر: كشف الكود المصدري للجافاسكريبت على جانب الخادم
السبب الجذري:
لم تقم مراجع الخادم (دوال الخادم) بتجاوز toString(). عندما
يتم تمرير هذا المرجع كوسيط إلى كود يحوّله إلى نص، يمكن
إرجاع كوده المصدري الكامل إلى العميل (على سبيل المثال، عبر
مسار خطأ، أو التسجيل، أو منطق بناء الاستعلامات).
الإصلاح (من المصدر):
يقوم React الآن بتثبيت واصف toString على مراجع الخادم بحيث يُرجع
قيمة نائبة ثابتة مثل:
function () { [omitted code] }
يمنع هذا ظهور النصوص الفعلية للدوال حتى عند تحويلها إلى نص.
للاطلاع على تفاصيل التغييرات الأساسية في React، انظر:
894bc73cb493487c48d57f4508e6278db58e673a