
ثغرة أمنية حرجة في next.js : تجاوز مصادقة الوسيط
هذا المستودع مُقدم لأغراض تعليمية فقط.
لم أكتشف هذه الثغرة - هذا شرح توضيحي لمشكلة أمنية تم الكشف عنها علنًا. استخدام هذه المعرفة لاستغلال الأنظمة الضعيفة دون إذن هو أمر غير قانوني وغير أخلاقي.
إذا كنت تستخدم Next.js لتطبيقاتك الإنتاجية، توقف فورًا وتحقق من رقم الإصدار لديك. هناك ثغرة خطيرة في الوسيطة (Middleware) قد تترك نظام المصادقة بأكمله مفتوحًا على مصراعيه.
تم الكشف عن هذه الثغرة الحرجة بشكل مسؤول وتم تصحيحها، لذا أشارك هذا العرض التعليمي لمساعدة المطورين على فهم المشكلة وحماية أنظمتهم.
المشكلة تكمن في كيفية معالجة Next.js للرأس الداخلي x-middleware-subrequest الخاص بـ HTTP. تم تصميم هذا الرأس لمنع التكرار في الوسيطة، لكن المهاجمين يمكنهم التلاعب به لتجاوز تنفيذ الوسيطة بالكامل.
فكر ماذا يعني ذلك - أي أمان يعتمد على الوسيطة قد يكون غير فعال:
هناك تقارير عن استخدام هذه الثغرة في البرية للوصول إلى لوحات التحكم، وبيانات المستخدمين، وحتى المعلومات المالية. بعض المؤسسات تعرضت بياناتها الحساسة دون أن تعلم بذلك.
يتضمن هذا المستودع:
# Strips the problematic header
proxy_set_header x-middleware-subrequest "";
# Does the same thing for Apache users
RequestHeader unset x-middleware-subrequest
// Quick middleware fix until you can properly update
app.use((req, res, next) => {
delete req.headers['x-middleware-subrequest'];
next();
});
تؤكد هذه الثغرة على مبادئ أمنية مهمة:
اطلع على هذه الموارد لبناء تطبيقات Next.js أكثر أمانًا:
هذا المستودع يقدم شرحًا تقنيًا وعرضًا توضيحيًا لـ CVE-2025-29927 لأغراض تعليمية فقط. تستند جميع المعلومات إلى تفاصيل تم الكشف عنها علنًا وتم تصحيحها بشكل مناسب. إذا اكتشفت ثغرات أمنية في أي برنامج، اتبع دائمًا ممارسات الكشف المسؤول:
تظهر هذه الثغرة كيف أنه حتى الأطر المصممة جيدًا يمكن أن تحتوي على عيوب أمنية حرجة. كن يقظًا هناك، واجعل تحديث التبعيات جزءًا من سير عملك المعتاد.
لا تتردد في التواصل معي إذا كانت لديك أسئلة أو تحتاج مساعدة في تطبيق أي من هذه الإصلاحات!