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() إذا كانت تعالج مدخلات مستخدم غير موثوق بها.
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
المعرّفات ذات الصلة
GHSA-4VPG-PFJ8-M33Q
GHSA-956X-8GVW-WG5V
ECHO-1512-9448-C75D
OESA-2026-3249
OESA-2026-3250
OESA-2026-3251
OPENSUSE-SU-2026:21874-1
PYSEC-2026-3839
RHSA-2026:44416
RHSA-2026:45785
RHSA-2026:45940
RHSA-2026:71113
RHSA-2026:71114
SUSE-SU-2026:4072-1
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾