
كشف ناقل استغلال React Server Actions – CVE-2025-55182 / CVE-2025-66478
كشف لـ CVE-2025-55182 / CVE-2025-66478 – مكونات خادم React / Next.js
يحتوي هذا المستودع على سكربت لمحرك سكربتات Nmap (NSE) مكتوب بلغة Lua، مصمم لاكتشاف الثغرة الحرجة المعروفة باسم React2Shell بشكل آمن، والتي تؤثر على تطبيقات مكونات خادم React (RSC) وإجراءات خادم React (RSA)—بما في ذلك العديد من نشرات Next.js.
تعتمد طريقة الكشف على تقنية قناة جانبية غير تدخّلية تستند إلى سلوك أخطاء الخادم عند معالجة حمولات React Flight التالفة. لا يتم تنفيذ أي استغلال، أو تشغيل كود، أو أي عمليات غير آمنة.
React2Shell (CVE-2025-55182 / CVE-2025-66478) هو عيب تصميم حرج في خطوط أنابيب مكونات خادم React يمكن أن يسمح بـ:
يتم تفعيل الثغرة عندما يحاول React تحليل مراجع React Flight المصمّمة مثل:
["$1:aa:aa"]
على الخوادم المعرّضة للثغرة، ينتج عن ذلك خطأ 500 يحتوي على النمط المميز:
E{"digest":"..."}
يكتشف هذا السكربت هذا النمط دون محاولة تنفيذ أي عمليات ضارة.
✔ كشف آمن وسلبي (بدون استغلال، وبدون محاولات RCE)
✔ يكشف توقيع انهيار React Flight عالي الدقة
✔ يعمل عبر HTTP و HTTPS
✔ مسارات ومهلات زمنية قابلة للتكوين من قبل المستخدم
✔ يتجنب تلقائيًا النتائج الإيجابية الكاذبة من إجراءات الحماية في Vercel/Netlify
✔ مخرجات متوافقة مع خطوط الأنابيب الآلية وأنظمة SIEM
✔ خفيف الوزن ومناسب لاختبارات الفريق الأحمر، وبرامج مكافآت الثغرات، والاستجابة للحوادث، والفحص في CI/CD
git clone https://github.com/MoisesTapia/http-react2shell.git
cd http-react2shell
ضع الملف داخل دليل سكربتات Nmap لديك:
sudo cp http-react2shell.nse /usr/share/nmap/scripts/
حدّث فهرس السكربتات:
sudo nmap --script-updatedb
nmap -p80 --script http-react2shell <host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/api/action'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/,react2shell.timeout=20000'
<host>
nmap -iL targets.txt -p80,443 \
--script http-react2shell
nmap -sV -p80,443 \
--script "http-react2shell,http-headers,http-server-header,http-security-headers" \
<host>
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| No characteristic crash pattern observed.
| This suggests the tested endpoint is not vulnerable or is patched,
|_ but this is not a guarantee (other RSC/Server Actions paths may exist).
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| VULNERABLE: possible React2Shell (CVE-2025-55182 / CVE-2025-66478)
| Evidence: HTTP 500 + digest-like pattern found in response
|_ Notes: high-fidelity side-channel; verify manually and patch immediately.
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
|_ ERROR: HTTP request failed (connection reset by peer)
مقالات التحليل الفني وأوراق بحثية حول البنية الداخلية لـ React Flight
يُقدَّم هذا المشروع لأغراض تعليمية وبحثية وأمنية دفاعية فقط. لا تقم بفحص أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. القائمون على المشروع غير مسؤولين عن أي إساءة استخدام أو أي ضرر ناتج عنها.
نرحّب بطلبات السحب (Pull Requests) والتحسينات وإضافات منطق الكشف الجديدة. يمكنك المساهمة بما يلي:
إذا كانت هذه الأداة تساعدك في اختبارات الفريق الأحمر، أو مكافآت الثغرات، أو الأمن الدفاعي، ففكر في منح المستودع نجمة ⭐ على GitHub!