PT-2026-67303
CVE-2026-67323
·
تاريخ النشر
2026-07-12
·
تاريخ التحديث
2026-09-22
الوصف من
CVSS 4.0
9.3
حرجةالمقاييسAV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات GitPython السابقة للإصدار 3.1.51
الوصف
يفشل GitPython في تنقية المعلمات التي يتم تمريرها إلى العديد من واجهات برمجة التطبيقات (API) العامة بشكل صحيح، مما يسمح بحقن الأوامر والتلاعب التعسفي بالملفات. تحدث هذه المشكلة لأن البرنامج لا يفرض فحوصات أمان على خيارات Git لبعض الطرق، مما يمكّن المهاجمين من حقن علامات خطيرة في استدعاءات الملف الثنائي
git الأساسية.تشمل التفاصيل الفنية ما يلي:
-
تنفيذ الأوامر: تقوم الطريقة
Repo.archive()بإعادة توجيه**kwargs**حرفياً، وتسمح الطريقةgit.ls remote()بتمرير حجة الكلمة الرئيسيةupload packدون التحقق من صحتها. يمكن للمهاجم استخدام خيارات مثل--execأو--upload-packلتنفيذ أوامر تعسفية على نظام المضيف. -
الكتابة فوق ملفات عشوائية: لا تتحقق طريقتا
Repo.iter commits()وRepo.blame()من وجود شرطات في بداية الحجةrev. ومن خلال تمرير قيمة مثل--output=<path>، يمكن للمهاجم أن يجعل Git يفتح ويقطع ملفًا عشوائيًا على النظام.
يتطلب الاستغلال أن يقوم أحد التطبيقات بتمرير حجج يسيطر عليها المهاجم إلى هذه الطرق المحددة.
التوصيات
قم بتحديث GitPython إلى الإصدار 3.1.51 أو أحدث.
كإجراء تخفيفي مؤقت، قم بتقييد أو تعطيل استخدام الطرق
Repo.archive() وgit.ls remote() وRepo.iter commits() وRepo.blame() إذا كانت تعالج مدخلات مستخدم غير موثوق بها.قابلية الاستغلال
استغلال
إصلاح
التأثيرات
المورّدون
المنتجات المتأثرة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾