
Git يُصلح ثغرة تتيح لمستودعات خبيثة تنفيذ كود أثناء الاستنساخ التكراري
يُصلح Git 2.56.1 الثغرة CVE-2026-111760، وهي خطأ اقتطاع عدد صحيح يمكن أن يتيح لمستودع خبيث تشغيل كود أثناء الاستنساخ التكراري مع الوحدات الفرعية. كما أُصلحت خمس ثغرات أخرى.
أصدر Git إصلاحات لثغرة يمكن أن تتيح لمستودع خبيث تنفيذ كود المهاجم على جهاز يستنسخه تكرارياً مع وحدات فرعية. المشكلة، المتعقبة باسم CVE-2026-111760، أُصلحت في Git 2.56.1، مع إصلاحات مماثلة في 2.50.2 و2.51.3 و2.52.1 و2.53.1 و2.54.1 و2.55.1. كما تتصدى الإصدارة لخمس ثغرات أخرى.
الثغرة الرئيسية وكيف تعمل
CVE-2026-111760 هي اقتطاع عدد صحيح في طريقة تعامل Git مع فهرسه. يمكن أن يجتاز مسار طويل جداً فحص أمان Git، لكن Git يكتبه إلى القرص تحت اسم أقصر يمكن للمهاجم تعيينه إلى .git. يمكن أن يتيح هذا للمهاجم استبدال ملف .git الخاص بوحدة فرعية برابط رمزي إلى مجلد يحتوي على خطافات أو إعدادات خبيثة. الخطافات هي برامج يشغّلها Git في نقاط محددة، لذلك بمجرد أن يستخدم Git ذلك المجلد، يمكن تشغيل كود المهاجم. الوحدات الفرعية مهمة لأن Git يرفض استبدال مجلد .git برابط رمزي، لكن في وحدة فرعية مستنسخة حديثاً، .git هو ملف.
ترفض الإصدارات المُصلحة مثل هذه المسارات الطويلة جداً قبل أن يمكن اختصار طولها.
ثغرات أخرى تم إصلاحها
كما تُصلح الإصدارات CVE-2026-113408، وفيها يمكن لخادم خبيث إرسال اسم فرع مع اجتياز مسار عندما يستنسخ شخص ما مستودعاً فارغاً عبر Git protocol v2؛ ومع الواجهة الخلفية files reference، يمكن لتحديث لاحق الكتابة خارج مجلد مراجع Git. وتتعلق CVE-2026-114467 بدمج علامة تحمل أكثر من توقيعين GPG، مما يُفسد ذاكرة المكدس ويمكن أن يسبب رفض الخدمة. وتتيح CVE-2026-114469 لرقعة ثنائية تتوسع إلى حجم كبير جداً تجاوز حد حجم الرقع في Git البالغ نحو 1 GiB وتعطيل Git بقراءة خارج الحدود. وتتعلق CVE-2026-105437 بدمج كبير جداً مع تعارضات كثيرة وسمة conflict-marker-size كبيرة، مما يمكن أن يجعل Git يكتب بعد نهاية مخزن مؤقت صغير جداً ويُفسد ذاكرة heap. وتتعلق CVE-2026-114466 بثلاث ميزات git fast-import، وهي rewrite-submodules-from وrewrite-submodules-to وexport-pack-edges، التي يمكن استخدامها لقراءة ملفات عشوائية أو إنشاء ملفات وإضافة بيانات إليها؛ والآن يرفض Git استخدامها في تدفق إدخال ما لم يتم تعيين --allow-unsafe-features.
ملاحظات GitHub وGitLab
شرح GitHub الإصلاحات في تقرير مفصل وطبقها على github.com وGitHub Enterprise Cloud. ولدى GitHub Enterprise Server، تتوفر الإصلاحات في الإصدارات 3.19.15 و3.20.11 و3.21.9 و3.22.4. وتُحضر إصدارات مُصلحة من GitHub Desktop وتطبيق GitHub Copilot، كما ستحصل GitHub Codespaces وGitHub Actions أيضاً على Git المُصلح. لم يُصدر Git for Windows إصدارة مبنية على Git 2.56.1 حتى الثلاثاء الساعة 19:09 UTC، وفقاً لفحص The Hacker News لوسوم إصداراته. وقال GitLab، الذي أسند CVE-2026-105437، إن خوادم استضافة الكود هي الأكثر احتمالاً للاستهداف عبر git merge-tree، وأنه يمكن تعيين سمة conflict-marker-size في ملف .gitattributes مُودَع في مستودع.
إرشادات التخفيف
ينصح GitHub بتثبيت إصدارة مُصلحة من نظام التشغيل أو موزع Git، وتحديث أي تطبيق يشحن نسخة خاصة به من Git. حتى تثبيت إصدارة مُصلحة، يقترح GitHub خطوات لا تُغني عن الإصلاحات: استنسخ فقط من خوادم تثق بها؛ لا تستنسخ تكرارياً مستودعات لا تثق بها؛ لا تدمج محتوى أو علامات لا تثق بها؛ ولا تُعالج الرقع الثنائية أو تدفقات fast-import من مصادر لا تثق بها. ولأجل CVE-2026-105437، يمكن للخوادم التي لا يمكنها الترقية بعد إضافة conflict-marker-size=7 إلى ملف info/attributes الخاص بكل مستودع، أو إيقاف فحوصات الدمج تلك للمستودعات غير الموثوقة.
المصادر: The Hacker News
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.