
n8n RCE (CVE-2025-68613)
يحتوي هذا المستودع على مشروع بحث أمني تعليمي يركّز على
CVE-2025-68613، وهي ثغرة تؤثر على إصدارات محددة من n8n تتعلق
بالتقييم غير الآمن لتعبيرات سير العمل.
تم اختبار المشروع فقط في بيئة معملية محلية خاضعة للتحكم.
CVE-2025-68613 هي ثغرة تنفيذ أكواد عن بُعد (RCE) تتطلب مصادقة تحدث بسبب التقييم غير الآمن لتعبيرات سير العمل في إصدارات n8n المتأثرة.
في ظل ظروف معينة، يمكن للمستخدمين المصادَق عليهم إساءة استخدام نظام تقييم تعبيرات سير العمل لتنفيذ أكواد عشوائية.
1.120.41.121.11.122.0.
├── scanner.py # Safe version-based vulnerability checker
├── exploit.py # Exploit of the workflow expression evaluation system
scanner.py
يقوم بالتحقق من الإصدار فقط دون أي تدخل (آمن للتدقيق وجرد الأصول).
exploit.py
يوضح كيف يمكن إساءة استخدام نظام تقييم تعبيرات سير العمل
في الإصدارات المتأثرة.
⚠️ هذا الملف هو استغلال (exploit) وليس مجرد إثبات مفهوم (PoC)، وهو مخصص للمختبرات المحلية فقط.
تم إنشاء البيئة المتأثرة باستخدام صورة Docker الرسمية لـ n8n.
docker run -it --rm \
--name n8n-vulnerable \
-p 5678:5678 \
n8nio/n8n:1.121.0
1.121.0 متأثر عمدًا لأغراض الاختبار.تعرض الصورة أدناه عقدة Set وهي تُقيّم تعبير سير العمل وتُرجع
مخرجات الأوامر داخل نتيجة تنفيذ سير العمل.
يحدث هذا السلوك بسبب التقييم غير الآمن للتعبيرات في الإصدارات المتأثرة.

python scanner.py http://localhost:5678
n8n Version Info: 1.121.0
The target n8n instance is VULNERABLE to CVE-2025-68613.
يقوم سكربت الاستغلال بما يلي:
⚠️ يجب استخدام هذا السكربت فقط على الأنظمة التي تملكها أو لديك إذن صريح لاختبارها. مثال:
python exploit.py -u http://localhost:5678 -e <youremail> -p <yourpassword>
---
## إخلاء المسؤولية
تم توفير هذا المستودع **بشكل صارم للأغراض الأمنية التعليمية والبحثية
والدفاعية**.
تم إجراء جميع الاختبارات في **بيئة معملية محلية تعتمد على Docker**.
الاستخدام غير المصرح به لهذا الكود ضد أنظمة دون إذن يعد غير قانوني وقد
ينتهك القوانين المعمول بها.
لا يتحمل المؤلف **أي مسؤولية** عن سوء الاستخدام أو الأضرار أو العواقب القانونية
الناتجة عن استخدام هذا الكود.
## المؤلف
تم إجراء البحث الأمني كجزء من مشروع تعلم شخصي ومحفظة أعمال.