CVE-2026-53586 in libgit2
الملخص
بحسب VulDB • 20/08/2026
libgit2 هو تنفيذ محمول بلغة C لطرق نواة Git، مُقدَّم كمكتبة قابلة للربط (linkable library) مع واجهة برمجة تطبيقات (API) متينة، مما يتيح دمج وظائف Git في التطبيقات الخاصة بك. قبل الإصدارين 1.8.6 و1.9.5، يتبع النقل المدمج عبر HTTP الموجود في src/libgit2/transports/http.c إعادة توجيه أولي إلى موقع خارجي (offsite initial redirect)، وتقوم الدالتان handle_remote_auth وhandle_auth بتمرير transport->owner->url بدلاً من transport->server.url إلى استدعاء الاعتمادات (credential callback) عندما يُرجع المضيف المعاد توجيهه خطأ 401 Unauthorized. وبالتالي، يمكن لمُستدعى اعتمادات يقيّد نطاق الاعتمادات على عنوان URL موثوق به أصلياً أن يعيد بيانات اعتماد GIT_CREDENTIAL_USERPASS_PLAINTEXT التي يخزنها libgit2 في transport->server.cred ويرسلها كعنوان Authorization إلى المضيف المعاد توجيهه. يمكن لمُهاجم يتحكم في مضيف Git موثوق أو يحتوي على إعادة توجيه مفتوحة (open redirect) على ذلك المضيف، أن يكشف عن بيانات اعتماد HTTP Basic، أو رموز الوصول الشخصية (personal access tokens)، أو بيانات الاعتماد المكافئة لها. تم إصلاح هذه المشكلة في الإصدارين 1.8.6 و1.9.5.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.