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

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - element-vector-drive-letter

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

المقال التفصيلي: https://abraxaslabs.tech/research/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 وتستخدم path.win32 من Node.

الامتيازالطريقة / نقطة الوصولالاستطلاع / السلامة / الإتاحةمُثبت مختبريًا أو مُستنتج
قراءة ملف تستطيع عملية 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()لا ينطبقمغلق. ليس هذا الخلل المتبقي

بقايا التثبيت نفسها: fragment guest wipe، Univention ICS javascript: href.

كيف وجدته

ثبّتت element-hq/element-web v1.12.29 بعد إصدار GitHub في 22 سبتمبر 2026. ثغرة XSS في الخط الزمني، وXSS في تصدير HTML (GHSA-wqmv)، وHTML الصفحة الرئيسية (GHSA-wrcp)، ورمز وسائط الودجة (GHSA-3jm3)، ومفاتيح Element Call (GHSA-69q3) جميعها مغلقة على هذا الوسم. لا يزال بروتوكول 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)؛ ووصف POSIX C: بأنه نفس الخلل (join بنمط posix يبقى تحت asar)؛ وتضخيم قراءة الملف إلى RCE على مستوى نظام التشغيل (sandbox وnodeIntegration: false يبقيان مفعّلين). صدفة عكسية. مسرح.

المختبر

أداة محلل URL. Node path.win32 مقابل path.posix. لا توجد عملية Windows Element Desktop. الملف المزروع /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. أنشئ المشروع 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 وسم v1.12.29
  • electron-main.ts (registerFileProtocol)
  • webcontents-handler.ts (will-navigate)
  • إصلاحات قريبة (ليست هذا السجن): GHSA-wqmv · GHSA-wrcp
  • نفس التثبيت: element-fragment-guest · element-ics-javascript
  • CWE-22

الترخيص

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

تنزيل الأداة