
VFS for Git ab95cf51 - عالي - محلي - LPE - مجلد العمل الحالي للمثبّت غير مؤهل gvfs.exe
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · vfs-install-cwd
الفئة: LPE الوصول: محلي
VFS for Git master ab95cf51 (الوسم v2.0.26259.1) - Microsoft
Setup.iss PrepareToInstall يستدعي دائمًا ExecWithResult('gvfs.exe', 'service --list-mounted', '', ...) عبر {cmd} /S /C مع WorkingDir فارغ. هذا يورث الدليل الذي أطلق منه المسؤول SetupGVFS*.exe. يبحث cmd.exe في CWD ثم PATH. يستخدم UnmountRepos نفس الاسم غير المؤهل.
الملف نفسه يؤهل المسارات الآمنة بالفعل. sc.exe هو {sys}\SC.EXE. إعادة التركيب بعد التثبيت هي {app}\gvfs.exe. التثبيت الأول ليس لديه gvfs.exe حقيقي على PATH بعد، لذا يفوز المزروع بجوار المثبّت الموقّع.
| ID | لا يوجد CVE بعد |
| الفئة | LPE (بحث CWD في المثبّت المرفوع الصلاحيات / تنفيذ غير مؤهل) |
| الوصول | محلي (UI:R) |
| CWE | CWE-427، CWE-428 |
| CVSS | مرتفع: 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H |
| المنتج | VFS for Git |
| المتأثر | master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (الوسم v2.0.26259.1). Windows فقط. |
| المصادقة | محلي. ازرع gvfs.exe في الدليل الذي يطلق منه المسؤول SetupGVFS*.exe. |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط. how=gadget (لا يوجد SetupGVFS*.exe أصلي). |
شقيق CVE-2021-47874 (binPath غير المُقتبس)، لكن نقطة استقبال مختلفة. sc.exe ومسار إعادة التركيب في هذا الإصدار مؤهلان بالفعل.
ازرع gvfs.exe حميدًا بجوار المثبّت الموقّع. عندما يطلق المسؤول الإعداد من ذلك المجلد، يشغّل PrepareToInstall المزروع بصلاحيات المثبّت المرفوع.
| الصلاحية | الطريقة / نقطة الاستقبال | ما تمنحه | الاستطلاع / السلامة / التوفر | مُثبت مختبريًا أو مُستنتج |
|---|---|---|---|---|
| وراثة CWD الخاص بالمثبّت | ExecWithResult مع WorkingDir فارغ (Setup.iss ~830) | يبدأ البحث في مجلد الإطلاق | سلامة ترتيب البحث | مُثبت مختبريًا. الأداة working_dir=""، البحث cwd-then-path. |
حل gvfs.exe غير المؤهل من CWD قبل PATH | cmd.exe /S /C ""gvfs.exe" service --list-mounted > ..." | يفوز المزروع على PATH | السلامة | مُثبت مختبريًا. prepare-resolved=cwd-plant، تم الحل إلى /lab/cwd/gvfs.exe. لم يتم لمس نسخة PATH. |
| التشغيل بصلاحيات المثبّت المرفوع | مالك ملف الشاهد = uid الأداة (بديل عن الإعداد المرفوع) | تنفيذ كود مكافئ للمسؤول | السلامة | مُثبت مختبريًا على uid الأداة. مستوى تكامل المسؤول الأصلي غير متاح على هذا المضيف. |
| نفس المزروع عند إلغاء التركيب | Exec('gvfs.exe', 'service --unmount-all', '', ...) (Setup.iss ~544) | يعمل المزروع مجددًا أثناء إلغاء التركيب | السلامة | مُثبت مختبريًا. unmount-resolved=cwd-plant. |
| متابعة الإعداد بعد المزروع | يخرج المزروع بـ 0 ويكتب شاهدًا فقط | يستمر الإعداد | توفر التثبيت | مُثبت مختبريًا. نص الشاهد هو VFS-INSTALL-CWD-WITNESS. لا يوجد حمولة. |
مغلق في هذه البقايا: إعادة التركيب {app}\gvfs.exe (remount-resolved=app، remount-plant=no). {sys}\SC.EXE المُقتبس (sc-resolved=sys). بحث POSIX على PATH فقط (unix-cwd-search=no). SetupGVFS*.exe الحقيقي / ProjFS (هذا المضيف macOS؛ how=gadget). تنفيذ عن بُعد غير مصادق. ImagePath غير المُقتبس CVE-2021-47874 (binPath مُقتبس بالفعل).
بقايا نفس الإصدار: vfs-quote-breakout، vfs-mount-dehydrate، vfs-clone-acl، vfs-service-sid، vfs-hook-impersonate.
ثبّتت VFSForGit master ab95cf51 بعد دمج 2026-09-28. قائمة التخطي هي CVE-2021-47874. Setup.iss يقتبس binPath بالفعل ويؤهل {sys}\SC.EXE و{app}\gvfs.exe. لا يزال PrepareToInstall يمرر gvfs.exe مجردًا إلى cmd.exe.
المنعطفات الخاطئة المسجلة بالفعل: إعادة تقديم CVE-2021-47874؛ اعتبار بحث POSIX على PATH فقط هو خطأ Windows؛ الادعاء بأن إعادة التركيب غير مؤهلة أيضًا. مسرحية. كان Windows الأصلي مفقودًا، لذا المختبر هو أداة تحاكي ExecWithResult بالإضافة إلى بحث cmd CWD-then-PATH.
python3 vfs-install-cwd-Abraxas-Labs.py
أو
cd lab
./run.sh
أداة HTTP على 127.0.0.1:19680. الشاهد VFS-INSTALL-CWD-WITNESS. السطر الأخير يستخدم how=gadget.
SUCCESS vfs-install-cwd how=gadget prepare-resolved=cwd-plant prepare-witness=yes remount-resolved=app remount-plant=no unix-cwd-search=no VFS-INSTALL-CWD-WITNESS
ExpandConstant('{app}\gvfs.exe') عند وجوده، وإلا تخطَّ استعلام list-mounted عند التثبيت الأول. لا تمرر أبدًا gvfs.exe مجردًا إلى cmd.exe. أهّل UnmountRepos بالطريقة نفسها.
ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3aSetup.iss PrepareToInstall / UnmountRepos / {sys}\SC.EXE / {app}\gvfs.exeImagePath غير المُقتبسGNU Affero GPL v3.0. انظر LICENSE. مختبر loopback فقط. لا ضمان.