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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
element-vector-drive-letter — Element Desktop v1.12.29 - عالي - محلي - ملف - ناقل: يقرأ البروتوكول ملفات Windows خارج سجن asar | Kitploit
أدوات/GitHubGitHub/abraxas/element-vector-drive-letter
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالمحاكاة الافتراضية للأماناختبار الاختراقمختبرات وتدريب عملي
GitHubabraxas/element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 - عالي - محلي - ملف - ناقل: يقرأ البروتوكول ملفات Windows خارج سجن asar

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - element-vector-drive-letter

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 - Element Creations Ltd

الفئة: قراءة ملفات الوصول: محلي

apps/desktop/src/electron-main.ts يسجّل vector: كبروتوكول ملفات مميّز. الحماية الوحيدة هي relTarget.startsWith("..") بعد path.normalize(path.join(...pathname.split("/").slice(2))). على Windows، دمج C: وWindows وwin.ini يكون بالفعل C:\Windows\win.ini. المسارات المطلقة لا تبدأ بـ ..، لذا يسمح لها الفحص بالمرور. كما أن ملاحظة Electron الخاصة بالبروتوكولات المخصّصة ترفض path.isAbsolute. دالة path.join في POSIX لا تعتبر C: مسارًا مطلقًا، لذا فإن Linux وmacOS ليستا ضمن هذا الثغرة. will-navigate يسمح بمرور vector:.

يمكن لـ XSS في الـ Renderer أو DevTools أو أي عملية محلية أخرى تنفيذ fetch("vector://vector/webapp/C:/Windows/win.ini") وقراءة الملفات التي تستطيع عملية Element فتحها.

المعرّفلا يوجد CVE بعد
CWECWE-22 / CWE-73
CVSSمرتفع: 8.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
المنتجelement-web Desktop (apps/desktop)
المتأثرv1.12.29 (2d90d6b7b601ecb9ccdf81239a43b4396b4b0c9e). على Windows فقط.
المصادقةrenderer محلي (DevTools / XSS)
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

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

XSS في الـ Renderer أو DevTools أو أي عملية محلية أخرى تستطيع الوصول إلى vector:. لم يتم تشغيل Element Desktop الأصلي على Windows. الأداة تنسخ محلّل URL الخاص بالـ pin وتستخدم Node path.win32.

الصلاحيةالطريقة / نقطة الوصولالاستطلاع / السلامة / التوافرمُثبت مختبريًا أو مُستنتج
قراءة ملف تستطيع عملية Element فتحهfetch("vector://vector/webapp/C:/Windows/win.ini"). الحماية الوحيدة هي relTarget.startsWith(".."). دمج حرف محرك الأقراص يكون مطلقًا، لذا يمر الفحص. path.win32.resolve(asar, relTarget) يكون C:\Windows\win.iniاستطلاعمُثبت مختبريًا على أداة محلّل URL. المحتوى هو ELEMENT-VECTOR-DRIVE-LETTER-WITNESS. لم يتم تشغيل Desktop الأصلي
نفس القراءة لـ electron-config والملفات الشخصية وملفات مستخدمين آخرين على نفس ACLنفس طلب vector://vector/webapp/C:/...استطلاعمُستنتج. المختبر زرع win.ini وليس أسرارًا حقيقية
الاستيلاء على حساب Matrix إذا حمّل الإطار الرئيسي HTML مهاجم موجود مسبقًا على القرصwill-navigate يسمح بمرور vector:. HTML خبيث على vector://vector يحصل على preload / window.electron (الرموز، Seshat، clearStorage)السلامةمُستنتج من webcontents-handler.ts وpreload. لم يقم المختبر بتوجيه BrowserWindow
اجتياز ../ لشجرة asarvector://vector/webapp/../لا ينطبقمُغلق هنا. WHATWG URL يدمجه؛ المعالج يعيد FILE_NOT_FOUND (-6)
طلب حرف محرك الأقراص على POSIX / macOS / Linuxpath.posix.join يترك C:/Windows/win.ini تحت asarلا ينطبقمُغلق هنا. الأداة posix 404، لا شاهد
RCE / LPE على مستوى نظام التشغيلnodeIntegration: false، app.enableSandbox()لا ينطبقمُغلق. ليس هذه الثغرة

ثغرات أخرى في نفس الـ pin: fragment guest wipe، Univention ICS javascript: href.

كيف وجدتها

ثبّتُّ element-hq/element-web v1.12.29 بعد إصدار GitHub في 22 سبتمبر 2026. ثغرات Timeline XSS وHTML-export XSS (GHSA-wqmv) وhomepage HTML (GHSA-wrcp) وwidget media token (GHSA-3jm3) وElement Call keys (GHSA-69q3) مُغلقة على هذا الـ tag. لا يزال البروتوكول المخصّص في Desktop يفحص فقط startsWith("..").

new URL("vector://vector/webapp/C:/Windows/win.ini") يُبقي C: كجزء من المسار. path.win32.join("C:", "Windows", "win.ini") يكون C:\Windows\win.ini. دالة Node path.win32.join(asar, abs) تدمج؛ بينما path.win32.resolve يُسقط جذر asar.

مسارات خاطئة مسجّلة مسبقًا: اعتبار ../ هي الثغرة (WHATWG يدمجها، المعالج يعيد 404)؛ اعتبار C: في POSIX نفس الخطأ (posix join يبقى تحت asar)؛ تضخيم قراءة الملف إلى RCE على مستوى نظام التشغيل (sandbox وnodeIntegration: false يبقيان مفعّلين). reverse shell. مسرحية.

المختبر

أداة محلّل URL. Node path.win32 مقابل path.posix. لا توجد عملية Element Desktop على Windows. /lab/oracle/win.ini المزروع يمثّل C:\Windows\win.ini. /lab/asar/index.html هو سجن asar.

python3 element-vector-drive-letter-Abraxas-Labs.py

أو

cd lab
./run.sh

استهدف فقط http://127.0.0.1:19610. مشروع Compose باسم element-vector-drive-letter. يتم تفكيك الحزمة بعد التشغيل.

SUCCESS element-vector-drive-letter how=gadget win32-drive-letter=200 posix-drive-letter=404 control-dotdot=404 patched-isabs=404 ELEMENT-VECTOR-DRIVE-LETTER-WITNESS

الإصلاح

بعد normalize، ارفض path.isAbsolute(relTarget) واشترط أن يبقى path.resolve(baseDir, relTarget) تحت path.resolve(baseDir) (path.relative، وارفض ..).

المراجع

  • github.com/element-hq/element-web tag v1.12.29
  • electron-main.ts (registerFileProtocol)
  • webcontents-handler.ts (will-navigate)
  • قريبة مُرقّعة (ليست هذا السجن): GHSA-wqmv · GHSA-wrcp
  • نفس الـ pin: element-fragment-guest · element-ics-javascript
  • CWE-22

الترخيص

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

تنزيل الأداة