
يحاكي CVE-2025-29927، وهي ثغرة حرجة في Next.js تتيح للمهاجمين تجاوز تفويض الوسيط (middleware) عبر استغلال ترويسة HTTP الداخلية x-middleware-subrequest. يوضح الوصول غير المصرح به إلى المسارات المحمية ويوفر استراتيجيات التخفيف.
يستعرض هذا المستودع استغلال ثغرة CVE-2025-29927، وهي ثغرة حرجة في Next.js تسمح للمهاجمين بتجاوز عمليات التحقق من الصلاحيات المعتمدة على Middleware. ينبع الخلل من المعالجة غير السليمة لترويسة HTTP الداخلية x-middleware-subrequest، مما يتيح وصولاً غير مصرح به إلى المسارات المحمية.
هذا المشروع مخصص للأغراض التعليمية والبحثية فقط. الاستخدام غير المصرح به ضد الأنظمة دون إذن صريح يعد غير قانوني وغير أخلاقي. المؤلفون غير مسؤولين عن أي إساءة استخدام لهذا الكود.
تؤثر ثغرة CVE-2025-29927 على إصدارات Next.js الأقدم من:
تنشأ الثغرة عندما يضيف المهاجم الترويسة x-middleware-subrequest إلى طلب HTTP. يفسر Next.js هذه الترويسة على أنها طلب فرعي داخلي، مما يؤدي إلى تخطي تنفيذ Middleware، بما في ذلك عمليات التحقق الحرجة من الصلاحيات.
git clone https://github.com/Knotsecurity/CVE-2025-29927-NextJs-Middleware-Simulation.git
cd cve-2025-29927-simulation
npm install
npm run dev
يتضمن التطبيق مساراً محمياً على /admin، وهو محمي بواسطة Middleware يتحقق من مصادقة المستخدم.
/login وتسجيل الدخول باستخدام [email protected]:password123./admin. ستحصل على خطأ وصول غير مصرح به.x-middleware-subrequest: middleware، ثم أرسل الطلب./admin.للحماية من هذه الثغرة:
npm install next@latest
x-middleware-subrequest.