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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
n8n-databricks-path-join — إثبات مفهوم لثغرة اجتياز المسار (CWE-22) في عُقد Databricks الخاصة بـ n8n: مُدخل webhook غير مُصادَق عليه يتجاوز مسار Genie لتسريب أسرار PAT الخاصة بمساحة العمل، مع مختبر loopback. | Kitploit
أدوات/GitHubGitHub/abraxas/n8n-databricks-path-join
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتالمحاكاة الافتراضية للأماناختبار الاختراقمختبرات وتدريب عملي
GitHub
abraxas/n8n-databricks-path-join

n8n-databricks-path-join

إثبات مفهوم لثغرة اجتياز المسار (CWE-22) في عُقد Databricks الخاصة بـ n8n: مُدخل webhook غير مُصادَق عليه يتجاوز مسار Genie لتسريب أسرار PAT الخاصة بمساحة العمل، مع مختبر loopback.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - n8n-databricks-path-join

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  n8n-databricks-path-join

المقال: https://abraxaslabs.tech/research/n8n-databricks-path-join

n8n-databricks-path-join

n8n 2.42.0 - n8n GmbH

أدخلت GHSA-89p4-6h98-c7xm وGHSA-rqch-9jrh-cr8w الدالة toPathSegment: encodeURIComponent مع رفض '' / . / ... وتقوم getSpace.operation.ts بدمج spaceId في ${host}/api/2.0/genie/spaces/${spaceId}. وينطبق الأمر نفسه على getIndex في Vector Search وdownloadFile في Files. أما LangChain VectorStoreDatabricks فيغلّف مسار الفهرس مسبقًا. ويتولى new URL وفق WHATWG الباقي. إذ يُطبَّع ../. ويرحل معه رمز PAT الخاص بـ Databricks في سير العمل.

مدخل webhook غير موثوق يتحول إلى GET /api/2.0/secrets/get باستخدام رمز مساحة العمل. تسريب بيانات اعتماد على Databricks، وليس تنفيذًا عن بُعد على مضيف n8n.

المعرّفلا يوجد CVE بعد
CWECWE-22
CVSSمرتفع: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
المنتجn8n
المتأثرحتى 2.42.0 (86c23326)؛ شقيق GHSA-89p4 / GHSA-rqch
المصادقةغير مصادَق عليه عند الـ webhook إذا ربط سير عمل الضحية مدخلًا غير موثوق
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

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

استهداف webhook عام أو محادثة أو مشغّل HTTP يتدفق إلى Databricks Genie get-space (أو Vector Search get-index، أو Files download) بمعرّف يتحكم فيه المهاجم. عندئذٍ ينفّذ رمز سير العمل GET على /api/2.0/secrets/get. وإذا كان لهذا الرمز صلاحية قراءة النطاق (وهو رمز PAT نموذجي لمسؤول مساحة العمل)، فإن مخرجات العقدة تكون هي JSON الخاص بـ value للسر.

الرمز الذي لا يملك صلاحية ACL على الأسرار سيظل يُرجع 403؛ وهذا لا يزال يثبت أن الطلب غادر /genie. يحتاج تنزيل الملفات إلى ../ أعمق (بادئة أطول). يتطلب الأمر ضحية ربط مدخلًا غير موثوق في تلك المعلمة. عقدة HTTP Request المقيّدة (allowedHttpRequestDomains: none) ليست بديلًا عن ترميز معرّفات Databricks.

المنتج نفسه، بقايا شقيقة: hidden Function vm2.

كيف وجدته

نفس جولة البقايا التي أجريتها في مختبر Function: عشر عمليات بحث على [email protected] بعد موجة GHSA في 16 سبتمبر 2026. كانت جولة البحث عن حقن العقد تبحث عن أشقاء غير مكتملين لـ GHSA-89p4 (معرّفات موارد Public API) وGHSA-rqch (اسم جدول Supabase). Elastic، وAdalo، وCurrents، وعقدة n8n نفسها. الدالة المساعدة موجودة لأنهم خسروا هذه المعركة سابقًا. أما عقد Databricks في nodes-base فلا تستدعيها.

لم أوجّه هذا نحو مساحة عمل حقيقية. محاكي المختبر على :18203 يرد على GET /api/2.0/secrets/get بـ N8N-DBX-SECRET-WITNESS. وn8n على :18202. الـ webhook dbx-space يربط spaceId من JSON. سجل وصول المحاكي: GET /api/2.0/secrets/get?scope=s&key=k. وجسم الـ webhook يحتوي على الشاهد.

المسارات الخاطئة المسجّلة مسبقًا: طلب البقاء تحت /api/2.0/genie/spaces/ (ثم تم ترميز .. - يتطلب المختبر تركه كما هو)؛ اعتبار RCE على مضيف n8n بمثابة SUCCESS؛ الوصول إلى مساحة عمل حقيقية؛ صدفة عكسية. مسرح. الشاهد هو N8N-DBX-SECRET-WITNESS بالإضافة إلى سطر الطلب الوهمي.

المختبر

cd lab
./run.sh

استهدف فقط http://127.0.0.1:18202 (n8n) و :18203 (mock). مضيف بيانات الاعتماد هو mock، وليس مساحة عمل حقيقية.

webhook-http=200
mock-request-line=GET /api/2.0/secrets/get?scope=s&key=k
webhook-witness=True
mock-secrets-get=True
witness=N8N-DBX-SECRET-WITNESS
SUCCESS N8N-DBX-PATH-JOIN

الإصلاح

غلّف كل معرّف مسار في Databricks باستخدام toPathSegment، تمامًا كما في VectorStoreDatabricks.

المراجع

  • github.com/n8n-io/n8n وسم [email protected]
  • getSpace.operation.ts · toPathSegment · DatabricksVectorStore.ts
  • تم تصحيحه بالقرب من: GHSA-89p4-6h98-c7xm · GHSA-rqch-9jrh-cr8w
  • نفس المنتج: n8n-function-vm2
  • CWE-22

الترخيص

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

تنزيل الأداة