Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/s41r4j/cve-2025-48384
تحليل الثغرات الأمنيةالاستغلالأمن سلسلة التوريدالأوراق والأبحاثالتعلم والتعليممختبرات وتدريب عملي
GitHubs41r4j/cve-2025-48384

CVE-2025-48384

ثغرة GIT | إرجاع السطر و RCE عند الاستنساخ

عرض المستودع
2منذ 11 أشهرلم تتم المراجعة بعد
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

نظرة عامة على CVE-2025-48384

CVE-2025-48384 هي ثغرة أمنية خطيرة في Git، نظام التحكم في الإصدارات الموزعة واسع الاستخدام. تتضمن معالجة غير سليمة لأحرف الإرجاع (CR) في قيم التهيئة، مما قد يؤدي إلى مشكلات في اجتياز المسار أثناء عمليات سحب الوحدات الفرعية. يسمح هذا الخلل بتطبيق تعليمات برمجية عشوائية محتملة في ظل ظروف محددة. تم الكشف عن الثغرة علنًا في 8 يوليو 2025، وآخر تعديل في 26 أغسطس 2025. تم إضافتها إلى كتالوج الثغرات المستغلة المعروفة (KEV) التابع لوكالة الأمن السيبراني وأمن البنية التحتية الأمريكية (CISA) في 25 أغسطس 2025، مما يشير إلى استغلال نشط في البيئة الحية، مع تاريخ استحقاق المعالجة في 15 سبتمبر 2025.

وصف الثغرة

تنشأ المشكلة من كيفية معالجة Git لقيم التهيئة:

  • عند قراءة قيمة تهيئة، يقوم Git بإزالة أي أحرف إرجاع وتغذية سطر (CRLF) زائدة في النهاية.
  • ومع ذلك، عند كتابة إدخال تهيئة، لا يتم وضع علامات اقتباس بشكل صحيح حول القيم التي تحتوي على CR زائد في النهاية، مما يؤدي إلى فقدان CR أثناء القراءات اللاحقة.

يمكن أن يتسبب هذا التناقض في سحب وحدة فرعية إلى موقع غير صحيح إذا كان مسارها يتضمن CR زائد في النهاية. إذا قام مهاجم بإعداد رابط رمزي يشير إلى هذا المسار المعدل إلى دليل hooks الخاص بالوحدة الفرعية — وتحتوي الوحدة الفرعية على hook قابل للتنفيذ من نوع post-checkout — فقد يتم تنفيذ السكربت hook عن غير قصد بعد السحب، مما يؤدي إلى تطبيق تعليمات برمجية عشوائية.

التفاصيل الفنية

تستغل الثغرة تضاربًا في تفسير تحليل تهيئة Git:

  • عدم تطابق معالجة التهيئة: يتم إزالة الـ CR الزائد عند القراءة ولكن لا يتم الحفاظ عليه عند الكتابة بدون اقتباس.
  • تغيير مسار سحب الوحدة الفرعية: قد يتم تفسير مسار وحدة فرعية مثل submodule/path<CR> على أنه submodule/path بعد فقدان الـ CR.
  • استغلال الرابط الرمزي: يمكن للمهاجم إنشاء رابط رمزي من المسار المعدل إلى دليل hooks (مثل .git/hooks/post-checkout)، مما يسمح بتنفيذ hooks ضارة أثناء عمليات مثل git submodule update أو git clone --recurse-submodules.
  • يتم تصنيف ذلك تحت:

    • CWE-436: تفسير تعارض (عدم تطابق في كيفية معالجة البيانات).
    • CWE-59: حل غير صحيح للرابط قبل الوصول إلى الملف ('Follow Link')، بسبب إساءة استخدام الرابط الرمزي.

    ناقل الهجوم قائم على الشبكة (AV:N)، مع تعقيد عالٍ (AC:H)، صلاحيات منخفضة مطلوبة (PR:L)، تفاعل مستخدم مطلوب (UI:R)، ونطاق متغير (S:C)، مما يؤثر بشكل كبير على السرية والنزاهة والتوفر (C:H/I:H/A:H).

    الإصدارات المتأثرة

    تؤثر الثغرة على إصدارات Git قبل الإصدارات التي تم تصحيحها التالية:

    • جميع الإصدارات قبل v2.43.7
    • v2.44.0 إلى v2.44.3
    • v2.45.0 إلى v2.45.3
    • v2.46.0 إلى v2.46.3
    • v2.47.0 إلى v2.47.2
    • v2.48.0 إلى v2.48.1
    • v2.49.0
    • v2.50.0

    تؤثر على Git عبر منصات مختلفة، بما في ذلك Linux وmacOS وWindows، ولكنها ذات صلة خاصة في بيئات المطورين وخطوط أنابيب CI/CD (مثل GitHub Actions وGitLab CI) وفي أي مكان يتم فيه استنساخ الوحدات الفرعية Git من مستودعات غير موثوقة.

    التأثير وسيناريوهات الاستغلال

    • التأثير: خطر عالٍ لتنفيذ تعليمات برمجية عن بعد (RCE) أو تسريب بيانات أو اختراق النظام. في سير عمل المطورين، قد يؤدي هذا إلى هجمات سلسلة التوريد إذا تم استنساخ مستودعات ضارة.
    • متطلبات الاستغلال:
      • مسار وحدة فرعية مصمم خصيصًا مع CR زائد في النهاية.
      • رابط رمزي يعيد التوجيه إلى دليل hooks.
      • Hook قابل للتنفيذ (مثل post-checkout) في الوحدة الفرعية.
      • تفاعل المستخدم، مثل استنساخ مستودع باستخدام --recurse-submodules.
    • الاستغلال في العالم الحقيقي: نظرًا لكونها في كتالوج KEV الخاص بـ CISA، يجب على الوكالات الفيدرالية والبنية التحتية الحيوية معالجتها بحلول 15 سبتمبر 2025. من المحتمل استغلالها في هجمات موجهة ضد المطورين أو مشاريع مفتوحة المصدر. لا يذكر التقرير أي إثبات مفهوم (PoC) عام، لكن التعقيد العالي يشير إلى أن الإعداد يتطلب جهدًا محددًا.

    تفاصيل CVSS لم يتم تسجيلها بالكامل بعد في NVD (CVSS 4.0 معلق)، ولكن بناءً على مقاييس CVSS 3.1 من التقرير، تتماشى مع خطورة حرجة (تقدير CVSS 8.8، كما لوحظ سابقًا في قوائم CVE الأوسع).

    التخفيف والتوصيات

    • الإصدارات المصححة: قم بتحديث Git إلى أحد الإصدارات التالية أو الأحدث:
      • v2.43.7
      • v2.44.4
      • v2.45.4
      • v2.46.4
      • v2.47.3
      • v2.48.2
      • v2.49.1
      • v2.50.1
    • الحلول البديلة:
      • تجنب استنساخ الوحدات الفرعية بشكل متكرر (--recurse-submodules) من مستودعات غير موثوقة.
      • تعطيل أو تقييد استخدام الروابط الرمزية في تكوينات Git إذا أمكن.
      • استخدام Git في بيئات ذات صلاحيات مقيدة (مثل الإعدادات المحصورة في حاويات).
    • نصيحة إضافية: بالنسبة للمؤسسات الخاضعة لتوجيهات CISA، قم بتطبيق التصحيحات وفقًا لتعليمات البائع أو أوقف الاستخدام إذا لم يكن التصحيح ممكنًا. افحص المستودعات بانتظام بحثًا عن وحدات فرعية مشبوهة وراقب عمليات تنفيذ hooks غير متوقعة.

    الاعتمادات والمراجع

    • الاعتمادات: ينسب التقرير إلى ttaylorr للإبلاغ عن التفاصيل ونشرها.
    • المراجع الرئيسية:
      • إدخال NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-48384
      • تنبيه GitHub: https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9
      • كتالوج KEV التابع لـ CISA: (مدمج في تفاصيل NVD)

    تسلط هذه الثغرة الضوء على أهمية المعالجة الآمنة في أنظمة التحكم في الإصدارات، خاصة مع الوحدات الفرعية. إذا كنت تستخدم Git في بيئة إنتاج أو تطوير، فقم بإعطاء الأولوية للتحديث فورًا، نظرًا لحالة الاستغلال النشط.

    Quick PoC

    • المتطلبات الأساسية: Docker مثبت؛ هذا المستودع مستنسخ محليًا. لا حاجة إلى شبكة أثناء PoC.
    • Git الثغرة: يستخدم Git 2.40.4 (تم التحقق من سلوك الخلط في المسار).
    • عنوان URL للوحدة الفرعية: يشير .gitmodules إلى https://github.com/s41r4j/CVE-2025-48384-submodule.git، لكن PoC يعيد كتابته إلى نسخة محلية للاختبار بدون اتصال.

    قم بتشغيل:

    bash scripts/poc.sh

    ما يفعله:

    • يقوم ببناء صورة حاوية مع Git 2.40.4.
    • ينشئ علمًا في $HOME/flag.txt داخل الحاوية.
    • ينسخ malicious-submodule-repo/ إلى /tmp في الحاوية.
    • يستنسخ هذا المستودع بشكل متكرر مع إعادة كتابة عنوان URL إلى تلك النسخة المحلية من الوحدة الفرعية.
    • يفرض السحب لتشغيل hook post-checkout إذا نجح الخلط في المسار.
    • يطبع /tmp/flag.txt الذي أنشأه hook.

    ملاحظات:

    • مسار الوحدة الفرعية الضار هو نص حرفي sub^M (CR) مخزن كـ gitlink؛ المسار المنظف sub يتم حله عبر رابط رمزي إلى .git/hooks، لذلك يتم وضع post-checkout المتعقب للوحدة الفرعية كـ hook فعلي ويتم تشغيله.
    • لإعادة توجيه gitlink إلى أحدث commit للوحدة الفرعية البعيدة بعد دفعها إلى GitHub، قم بتشغيل: bash scripts/update-gitlink.sh.
    تنزيل الأداة