ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
أداة isomorphic-git هي تطبيق مكتوب بلغة JavaScript الخالصة لبرنامج Git لأنظمة Node.js والمتصفحات. قبل الإصدار 1.38.6، تكتب دالة git.checkout في isomorphic-git مسارات فرعية جديدة من خلال مكونات المجلدات الرئيسية المرتبطة برمز رمزي دون التحقق منها. يمكن لمستودع خبيث أولاً وضع رابط رمزي للمجلد ثم استبدال حالة الشجرة بملف فرعي تحت هذا المسار؛ والمشغل المعتاد هو عملية استنساخ يتبعها سحب لاحق، بينما يمكن أن يؤدي استنساخ واحد إلى تشغيل المشكلة عندما يكون الرابط الرمزي موجوداً مسبقاً أو يقوم التطبيق المستهلك بالوصول إلى الشجرة. مع استخدام Node fs على أنظمة Linux أو macOS، يمكن لنظام التشغيل حل عملية الكتابة خارج شجرة العمل، مما يسمح بكتابة ملفات عشوائية على المضيف وإمكانية تنفيذ شيفرة. عادة ما يحظر Node fs على أنظمة Windows زرع الرابط الرمزي بدون صلاحيات إضافية، وتحد مزودات المتصفح أو الذاكرة التأثير على نظام الملفات الافتراضي الخاص بها وتتأثر فقط عندما تنفذ إنشاء الروابط الرمزية وتتبعها. تمت إصلاح هذه المشكلة في الإصدار 1.38.6.
المعالجة
المراجع
- مرجعhttps://github.com/isomorphic-git/isomorphic-git/commit/823843d1cd19182df79bc907c767f5bcecb39a0b
- مرجعhttps://github.com/isomorphic-git/isomorphic-git/pull/2370
- مرجعhttps://github.com/isomorphic-git/isomorphic-git/releases/tag/v1.38.6
- مرجعhttps://github.com/isomorphic-git/isomorphic-git/security/advisories/GHSA-9qw7-j9xw-fv9c