
سكريبت Bash لاكتشاف CVE-2025-55182 (React2Shell) وكشف بيانات الاعتماد في مشاريع Next.js. بدون تبعيات.
النسخة اليابانية متوفرة في README.ja.md.
سكربت Bash للكشف عن CVE-2025-55182 (React2Shell) وتسريب بيانات الاعتماد في مشاريع Next.js. بدون أي تبعيات.
CVSS: 10.0 (حرج) | CWE-502: إلغاء تسلسل بيانات غير موثوقة | SNORT SID: 65554
تنفيذ تعليمات برمجية عن بُعد دون مصادقة عبر إلغاء تسلسل بيانات غير موثوقة في مكونات الخادم في Next.js. يرسل المهاجم طلب HTTP معدل إلى أي نقطة نهاية لمكون الخادم في Next.js؛ يقوم الخادم بإلغاء تسلسل الحمولة وينفذ تعليمات برمجية عشوائية.
الإصدارات المتأثرة:
| الحزمة | النطاق المعرض للخطر |
|---|
| Next.js | 15.0.0–15.0.4, 15.1.0–15.1.8, 15.2.0–15.2.5, 15.3.0–15.3.5, 15.4.0–15.4.7, 15.5.0–15.5.6, 15.6.0, 16.0.0–16.0.6 |
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
المراجع:
المرحلة 1 — إصدار Next.js: يقرأ ملفات package.json و package-lock.json و yarn.lock للعثور على الإصدار المحلول من Next.js ويقارنه بالنطاق المعرض للخطر.
المرحلة 2 — إصدار React: نفس الأسلوب مع React (19.0.0, 19.1.0, 19.1.1, 19.2.0).
المرحلة 3 — موجه التطبيق / مكونات الخادم: يكتشف وجود مجلد app/ وتوجيهات "use server". الإصدار المعرض للخطر مع تفعيل مكونات الخادم يمثل سطح هجوم مباشر.
المرحلة 4 — تسريب بيانات الاعتماد: يفحص ملفات .env* (يستثني .env.example و .env.sample) و next.config.* وملفات المصدر للبحث عن مفاتيح API وعناوين قواعد البيانات وأسرار JWT والبادئات السرية المضمنة (مثل sk- و AKIA و ghp_ و npm_).
المرحلة 5 — مفاتيح SSH: يبحث عن ملفات المفاتيح الخاصة (id_rsa, *.pem, *.p12، إلخ) ودليل .ssh/ الملتزم داخل المشروع.
المرحلة 6 — تكوين السحابة: يتحقق من ملفات Docker Compes للبحث عن أسرار مضمنة، وملفات Kubernetes لتعرض رمز حساب الخدمة، واستخدام AWS SDK للحصول على تلميحات IMDSv2.
المرحلة 7 — فحص مؤشرات الاختراق (IOC): يبحث عن عناوين IP للخادم والتحكم (C2) من معلومات Cisco Talos وأنماط الملفات المخفية المشبوهة في /tmp/ (لنظام Linux).
عناوين IP للخادم والتحكم (Cisco Talos): 144.172.102.88 / 172.86.127.128 / 144.172.112.136 / 144.172.117.112
المرحلة 8 — الملخص: عدد الحالات (حرج/تحذير/معلومات) مع خطوات المعالجة.
لا حاجة للتثبيت. قم بالتنزيل والتشغيل:
curl -O https://raw.githubusercontent.com/aliksir/nextjs-security-scanner/main/scan.sh
bash scan.sh [الدليل-المستهدف]
أو الاستنساخ:
git clone https://github.com/aliksir/nextjs-security-scanner.git
bash nextjs-security-scanner/scan.sh /path/to/your/nextjs-app
# فحص الدليل الحالي
bash scan.sh
# فحص مشروع محدد
bash scan.sh /path/to/nextjs-app
# في CI/CD (رمز خروج غير صفري = فشل خط الأنابيب)
bash scan.sh . || exit 1
رموز الخروج:
0 — لا توجد مشكلات1 — تحذيرات (تم اكتشاف أنماط بيانات اعتماد، تحتاج إلى مراجعة)2 — حرج (تم تأكيد إصدار معرض للخطر، إجراء فوري مطلوب)=== ماسح أمان Next.js ===
الهدف: /home/user/myapp
التاريخ: 2026-04-04 12:00
CVE: CVE-2025-55182 (React2Shell, CVSS 10.0)
[المرحلة 1] فحص إصدار Next.js
[حرج] إصدار Next.js v15.2.4 معرض للخطر لـ CVE-2025-55182 (React2Shell)
-> package.json: "next": "^15.2.4"
-> هذا الإصدار يسمح بتنفيذ تعليمات برمجية عن بُعد غير مصادق عليه عبر إلغاء تسلسل مكونات الخادم
[المرحلة 2] فحص إصدار React
[حرج] إصدار React v19.1.0 موجود في قائمة الإصدارات المعرضة للخطر لـ CVE-2025-55182
[المرحلة 3] كشف موجه التطبيق / مكونات الخادم
[معلومات] تم اكتشاف موجه التطبيق (مجلد app/ موجود)
[حرج] Next.js معرض للخطر + مكونات الخادم = سطح هجوم نشط لـ React2Shell
...
=== ملخص الفحص ===
حرج : 3
تحذير : 0
معلومات: 2
تم العثور على مشكلات حرجة. إجراء فوري مطلوب.
=== المعالجة (CVE-2025-55182) ===
1. قم بترقية Next.js إلى إصدار مصحح:
npm install next@latest
...
قم بالترقية فوراً:
npm install next@latest
npm install react@latest react-dom@latest
تحقق من https://github.com/vercel/next.js/releases للعثور على أول إصدار مصحح في كل سلسلة فرعية.
إذا كان هناك اشتباه في الاستغلال:
ps aux | grep -E '\.sh|\.py'
crontab -l; cat /etc/cron*
ss -tnp | grep -E '144\.172|172\.86'
ls -la /tmp/ | grep '^\.'
144.172.102.88، 172.86.127.128، 144.172.112.136، 144.172.117.112bash scan.sh [الدليل-المستهدف]
كلمات المفتاح للتشغيل: "next.js security check", "CVE-2025-55182", "React2Shell", "Next.js vulnerability scan"
انظر claude-code/SKILL.md لمزيد من التفاصيل حول مهارة التغليف.
تم توفير هذه الأداة لأغراض الدفاع الأمني فقط. تقوم بإجراء فحوصات محلية للقراءة فقط على ملفات مشروعك الخاص. لا يتم إجراء أي اتصالات شبكية، ولا يتم إرسال أي بيانات خارجية، ولا يتم تنفيذ أي استغلالات.
تعتمد معلومات الثغرات الأمنية ومؤشرات الاختراق (IOC) على مصادر متاحة للجمهور (NVD, Cisco Talos). قد يُنتج هذا الماسح نتائج إيجابية خاطئة أو يفوت بعض ناقلات الهجوم. لا يحل محل عمليات التدقيق الأمني المهنية أو اختبار الاختراق أو التصحيحات الأمنية المقدمة من البائع.
استخدم على مسؤوليتك الخاصة. لا يتحمل المؤلفون أي مسؤولية عن الأضرار الناتجة عن استخدام هذه الأداة.
MIT — انظر LICENSE