
يحتوي هذا المستودع على إثبات المفهوم (PoC) لاستغلال الثغرة CVE-2024-32002، وهي ثغرة في Git تسمح بتنفيذ تعليمات برمجية عن بُعد (RCE) أثناء عملية git clone. من خلال إنشاء مستودعات ذات وحدات فرعية بطريقة محددة، يمكن للمهاجم استغلال معالجة الروابط الرمزية على أنظمة الملفات غير الحساسة لحالة الأحرف لكتابة ملفات في دليل .git/، مما يؤدي إلى تنفيذ خطافات ضارة.
git cloneيحتوي هذا المستودع على إثبات مفهوم لاستغلال CVE-2024-32002، وهي ثغرة أمنية في Git تسمح بتنفيذ الأوامر عن بُعد أثناء عملية git clone. من خلال إنشاء مستودعات تحتوي على وحدات فرعية بطريقة محددة، يمكن للمهاجم استغلال معالجة الروابط الرمزية على أنظمة الملفات غير الحساسة لحالة الأحرف لكتابة ملفات داخل دليل .git/، مما يؤدي إلى تنفيذ خطافات ضارة.
ملاحظة: سيعمل إثبات المفهوم هذا فقط على أنظمة Windows أو Mac.
للحصول على شرح تفصيلي لكيفية عكس هذا الاستغلال، راجع مقالة المدونة: https://amalmurali.me/posts/git-rce.
git_rce) يتضمن وحدة فرعية بمسار مُعد خصيصًا..git/ الخاص بها، والذي يحتوي على خطاف ضار.git_rce/ (هذا المستودع): المستودع الرئيسي الذي يحتوي على الوحدة الفرعية.amalmurali47/hook: مستودع الوحدة الفرعية الذي يحتوي على الخطاف الضار.⚠️ تحذير: لا تقم بتشغيل إثبات المفهوم هذا على أنظمة لا تملكها أو ليس لديك إذن صريح لاستخدامها. قد يؤدي الاختبار غير المصرح به إلى عواقب غير مقصودة.
git clone --recursive [email protected]:amalmurali47/git_rce.git
ملاحظة: على Windows، قد تحتاج إلى تشغيل الصدفة كمسؤول لكي يعمل هذا.


تم تضمين السكربت المستخدم لإنشاء إثبات المفهوم في هذا المستودع باسم create_poc.sh. تم تضمين تعليمات إعداد إثبات المفهوم على مستودع GitHub في مقالة المدونة.
هذا المستودع مخصص للأغراض التعليمية فقط. المعلومات المقدمة هنا تهدف إلى مساعدة المطورين على فهم الثغرة الأمنية وحماية أنظمتهم. لا تستخدم هذا الاستغلال بشكل ضار أو بدون إذن. استخدام إثبات المفهوم هذا على مسؤوليتك الخاصة. المؤلف غير مسؤول عن أي أضرار أو قضايا قانونية قد تنشأ عن استخدام هذه المعلومات.
الفضل يعود إلى filip-hejsek لاكتشاف هذه الثغرة الأمنية.
هذا المشروع مرخص بموجب رخصة MIT.