ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
مجموعة أدوات Metalama هي مجموعة أدوات مفتوحة المصدر للأنماط والبنية المعمارية لغة C# وتعتمد على Roslyn. قبل الإصدارات 2025.1.18 و 2026.0.25 و 2026.1.19، تقوم Metalama.Framework و Metalama.Tool بتحميل وتنفيذ تجميعات وقت التصريف (compile-time assemblies) والأدوات التنفيذية المساعدة والتجميعات المساعدة المضمنة من أدلة مؤقتة قابلة للتوقع. على نظامي `Linux` و `macOS`، يكون موقع `Path.GetTempPath()` الافتراضي قابلاً للكتابة من قبل الجميع، وتتم الثقة بالعناصر الموجودة بناءً على ملفات الحراسة (sentinel) أو ملفات الإشارة `.completed` بدلاً من التحقق من النزاهة. يمكن للمستخدم المحلي غير المميز على جهاز مشترك أو وكيل بناء/CI إنشاء هيكل الدليل المحدد مسبقًا وغرس مكتبة DLL خبيثة تحتوي على ملف الحراسة المطابق. وعندما يقوم مطور ذو صلاحيات أعلى أو حساب بناء لاحقًا بعملية البناء، تتخطى Metalama إعادة الإنشاء وتنفذ العنصر المغروس داخل المترجم (compiler) أو بيئة التطوير (IDE) أو عملية MSBuild باسم مستخدم البناء. يتيح ذلك تصعيد الصلاحيات بين المستخدمين، أو قراءة المصادر والأسرار، أو التلاعب بسلسلة التوريد لمخرجات البناء، أو تعطيل عمليات البناء. تُحمى الأدلة المؤقتة الافتراضية لكل مستخدم على نظام Windows بواسطة قوائم التحكم بالوصول (ACLs) ولا تتأثر. تعتبر مواقع التخزين المؤقت غير الآمنة التي يحددها المسؤول خارج نطاق الثغرة. تم إصلاح هذه المشكلة في الإصدارات 2025.1.18 و 2026.0.25 و 2026.1.19.
المعالجة
المراجع
- مرجعhttps://github.com/metalama/Metalama/security/advisories/GHSA-m6wq-39m7-9xpp
- مرجعhttps://github.com/metalama/Metalama/pull/1650
- مرجعhttps://github.com/metalama/Metalama/commit/09911349a916e82194b1cfaa6d0a38acad928fc9
- مرجعhttps://github.com/metalama/Metalama/commit/92c4feecfce86d18fcb007ab6d3a1b4383326a2e
- مرجعhttps://github.com/metalama/Metalama/releases/tag/release/2025.1.18
- مرجعhttps://github.com/metalama/Metalama/releases/tag/release/2026.0.25
- مرجعhttps://github.com/metalama/Metalama/releases/tag/release/2026.1.19