Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
n8n-function-vm2 — إثبات مفهوم ومختبر لهروب من صندوق الحماية في n8n 2.42.0: عُقد Function/FunctionItem المخفية تنفّذ JavaScript في العملية الرئيسية، مما يمنح الأعضاء المُصادَق عليهم تنفيذ أوامر عن بُعد على المضيف. | Kitploit
أدوات/GitHubGitHub/abraxas/n8n-function-vm2
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالالمحاكاة الافتراضية للأماناختبار الاختراقالفريق الأحمرمختبرات وتدريب عملي
GitHubabraxas/n8n-function-vm2

n8n-function-vm2

إثبات مفهوم ومختبر لهروب من صندوق الحماية في n8n 2.42.0: عُقد Function/FunctionItem المخفية تنفّذ JavaScript في العملية الرئيسية، مما يمنح الأعضاء المُصادَق عليهم تنفيذ أوامر عن بُعد على المضيف.

14منذ 7 أياملم تتم المراجعة بعد
عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Abraxas Labs - n8n-function-vm2

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  n8n-function-vm2

المقال: https://abraxaslabs.tech/research/n8n-function-vm2

n8n-function-vm2

n8n 2.42.0 - n8n GmbH

GHSA-j4p8-h8mh-rh8q نقل n8n-nodes-base.code إلى العملية الفرعية JS task-runner. إطلاق الإنتاج يضيف --disallow-code-generation-from-strings و --disable-proto=delete. ما تبقّى هو العُقد التي أخفوها بدلاً من نقلها. Function.node.ts هو hidden: true. وكذلك FunctionItem. وكذلك LangChain Code. إخفاء لوحة العُقد هو مجرد علامة في واجهة المستخدم. حفظ/استيراد JSON سير العمل لا يزال يحل النوع. القيمة الافتراضية لـ NODES_EXCLUDE هي فقط Execute Command و Local File Trigger. مسار التنفيذ هو vm2 NodeVM 3.12.2 داخل العملية في العملية الرئيسية لـ n8n.

عضو افتراضي يستطيع إنشاء سير عمل يمكنه تشغيل JS في العملية الرئيسية لـ n8n. الإخفاء ليس ACL.

المعرّفلا يوجد CVE بعد
CWECWE-94، CWE-269
CVSSعالٍ: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
المنتجn8n
المتأثرحتى 2.42.0 (86c23326)؛ بقايا GHSA-j4p8
المصادقةعضو مصادَق لديه صلاحية إنشاء/استيراد/تنفيذ سير العمل
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ما يمكن للمهاجم فعله

بصفته عضواً افتراضياً، استيراد أو إنشاء سير عمل نوع عقدته n8n-nodes-base.function (أو functionItem، أو @n8n/n8n-nodes-langchain.code) وتنفيذه. يعمل JS داخل العملية الرئيسية لـ n8n.

هذا تنفيذ أوامر على المضيف بصلاحيات مستخدم n8n: أسرار النسخة، ونص اعتماد المستخدمين الآخرين المشفّر على القرص، وقاعدة البيانات. من عضو متعدد المستأجرين إلى الاستيلاء على النسخة. ليس LPE على مستوى نظام التشغيل. وليس بدون مصادقة. Code v2 على نفس النسخة لا يرى process بهذه الطريقة.

نفس المنتج، بقايا شقيقة: Databricks path join.

كيف وجدته

قرأت موجة GHSA في 16 سبتمبر 2026 أولاً، ثم عشر عمليات بحث على الوسم [email protected]. صندوق رمل التعبيرات، Code/Function/vm2، الاعتمادات، webhooks، HTTP/SSRF، عقدة Git، حزم المجتمع، المصادقة/SSO، حقن العُقد، واجهة API العامة. معظم الثغرات العالية في تلك الموجة مغلقة على هذه النسخة. لم يكن Code منتهياً.

قواعد التغييرات الجذرية في v3 تصنّف Function / FunctionItem بالفعل على أنها محذوفة. على 2.42.0 هي بقايا، وليست صندوق رمل مقصوداً طويل الأمد. كما أن Function يحقن this.helpers، بما في ذلك مساعدات يسردها مشغّل JS على أنها غير مدعومة. لم أحتج إلى أداة استغلال vm2 عامة لإثبات حدود العملية.

أقمت نسخة أصلية من n8nio/n8n:2.42.0، وسجّلت عضواً (وليس مالك النسخة)، واستوردت n8n-nodes-base.function، ونفّذته. pid=7 الخاص بـ Function هو PID الرئيسي لـ n8n. نفس JS في Code v2: hasProcess: false. العملية الفرعية task-runner هي pid 26. الشاهد N8N-FUNCTION-VM2-WITNESS.

المسارات الخاطئة المسجّلة مسبقاً: رفض نوع Function باعتباره مخفياً/غير معروف (حينها تكون العقدة مستبعدة فعلاً)؛ تساوي pid الخاص بـ Function مع العملية الفرعية task-runner (حينها يكون قد انتقل بالفعل)؛ رؤية Code v2 لـ process (حينها لا يكون المشغّل هو المتحكم)؛ أداة استغلال vm2، أو reverse shell، أو LPE على مستوى نظام التشغيل. مسرح. الشاهد هو PID الرئيسي مقابل hasProcess: false.

المختبر

cd lab
./run.sh

استهدف فقط http://127.0.0.1:18201. القيمة الافتراضية NODES_EXCLUDE. المهاجم عضو.

authenticated-as=member
function-fields pid=7 witness=N8N-FUNCTION-VM2-WITNESS
code-fields hasProcess=False pid=None
compare function_pid=7 code_pid=None main_pid=7 runner_pid=26 who=member
SUCCESS N8N-FUNCTION-VM2 who=member function_pid=7 code_pid=None main_pid=7 runner_pid=26 N8N-FUNCTION-VM2-WITNESS

الإصلاح

أضف n8n-nodes-base.function وn8n-nodes-base.functionItem و@n8n/n8n-nodes-langchain.code إلى NODES_EXCLUDE الافتراضي، أو وجّهها عبر JsTaskRunnerSandbox بالطريقة التي يفعلها Code v2 بالفعل. إخفاء لوحة العقد hidden ليس كافيًا.

المراجع

  • github.com/n8n-io/n8n وسم [email protected]
  • Function.node.ts · Code.node.ts · nodes.config.ts · task-runner-process-js.ts
  • قريب تم ترقيعه: GHSA-j4p8-h8mh-rh8q
  • نفس المنتج: n8n-databricks-path-join
  • CWE-94 · CWE-269

الترخيص

GNU Affero GPL v3.0. راجع LICENSE. مختبر loopback فقط. دون أي ضمان.

تنزيل الأداة