كُشف عن ثغرة أمنية حرجة في إطار عمل Next.js الخاص بـ React، والتي قد تُستغل لتجاوز فحوصات التفويض (Authorization) تحت ظروف معينة.
تفاصيل الثغرة (CVE-2025-29927)
- مستوى الخطورة: ٩.١ من ١٠ وفقًا لمقياس CVSS.
- الإصابات المتأثرة: جميع الإصدارات قبل 12.3.5، 13.5.9، 14.2.25، و15.2.3.
كيف تعمل الثغرة؟
وفقًا لتنبيه Next.js الرسمي:
“يستخدم Next.js رأسًا داخليًا باسم
x-middleware-subrequest
لمنع الطلبات المتكررة من التسبب في حلقات لا نهائية.
تبين أنه من الممكن تخطي تنفيذ الـ Middleware، مما قد يسمح للطلبات بتجاوز فحوصات حاسمة—مثل التحقق من صحة كوكي التفويض—قبل الوصول إلى المسارات المحددة.”
الحلول الموصى بها
- تحديث Next.js فورًا إلى أحد الإصدارات المعدلة:
- 12.3.5
- 13.5.9
- 14.2.25
- 15.2.3
- إذا كان التحديث غير متاح، يُنصح بحظر أي طلبات خارجية تحتوي على رأس
x-middleware-subrequest
قبل وصولها لتطبيق Next.js.
تحذير من خبراء الأمن
- كشف الباحث الأمني رشيد علام (المعروف أيضًا بـ zhero و cold-try) عن الثغرة ونشر تفاصيلها الفنية، مؤكدًا ضرورة التصحيح السريع.
- وفقًا لشركة JFrog:
“تسمح هذه الثغرة للمهاجمين بتجاوز فحوصات التفويض في Middleware بسهولة، مما قد يمكنهم من الوصول إلى صفحات حساسة مخصصة للمشرفين أو المستخدمين ذوي الصلاحيات العالية.”
“أي موقع يستخدم Middleware للتفويض دون فحوصات إضافية يكون عُرضة لهذه الثغرة، مما قد يمكن المهاجمين من الوصول إلى موارد غير مصرح بها (مثل لوحات التحكم الإدارية).”
نصائح أمنية إضافية
- تفعيل طبقات تحقق متعددة (مثل التحقق من الجلسات، الرموز الموقعة، أو سياسات الـ CSP).
- مراقبة حركة المرور لاكتشاف أي محاولات استغلال غير طبيعية.
يُذكر أن Next.js يُعد من أطر العمل الشائعة لتطوير تطبيقات الويب الحديثة، مما يجعل هذه الثغرة ذات تأثير واسع على العديد من المنصات. يُنصح المطورون وفرق الأمن باتخاذ الإجراءات الفورية لتجنب الاختراقات المحتملة.