هل تريد نشرة يومية مجانية مخصصة؟ اختر فقط المواضيع التي تهمك ووفّر وقتك.

ثغرة في جيتهاب: إعادة توليد هاشات موثقة

ملخص للمقال
  • ثغرة في جيتهاب تكشف إمكانية إعادة توليد هاشات موثقة لالتزام Git نفسه، مع بقاء التوقيع صالحاً وظهور شارة Verified رغم اختلاف معرف الالتزام.
  • الدراسة توضح أن ثغرة جيتهاب لا تغيّر الشيفرة الموقعة ولا تمرر كوداً خبيثاً مباشرة، لكنها تضرب فكرة الهاش الموثق كبصمة فريدة ونهائية.
  • التفاصيل التقنية تعتمد على قابلية التلاعب بالتوقيع الرقمي، إذ يحسب Git هاش الالتزام من البيانات كاملة، بما فيها البايتات الخام لتوقيع GPG أو S/MIME.
  • خطورة إعادة توليد هاشات موثقة تظهر عند تجاوز قوائم الحظر المبنية على هاش واحد، وإرباك سجلات التتبع وعمليات deduplication وإثبات المصدر بسلاسل الإمداد.
  • الاختبارات شملت مخططات GPG التي يدعمها GitHub في التحقق، وتواقيع S/MIME ضمن سيناريوهات محددة، مع إمكانية إعادة كتابة سلاسل الالتزامات للحفاظ على الترابط.
  • مقارنةً بآليات التحقق التقليدية في GitHub التي تركز على صحة التوقيع والمحتوى، تكشف هذه الثغرة حاجة مستقبلية لربط التحقق بالهاش الفريد أيضاً.
هل تريد نشرة يومية مجانية مخصصة؟ اختر اهتماماتك هنا
ثغرة في جيتهاب: إعادة توليد هاشات موثقة
محتوى المقال
جاري التحميل...
ثغرة جيتهاب في التحقق من الالتزامات

كشفت دراسة جديدة أن جيتهاب قد يمنح شارة التحقق لالتزامات Git تحمل المحتوى نفسه لكن بهاش مختلف، ما يثير تساؤلات حول موثوقية التتبع والحظر.

ما هي ثغرة جيتهاب في الالتزامات الموثقة؟

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

هذا يعني أن المراجع الذي يفحص الملفات واسم المؤلف والتاريخ سيجدها متطابقة، بينما يختلف معرف الالتزام فقط. وهنا تظهر الخطورة لأن كثيراً من الأنظمة تتعامل مع الهاش الموثق باعتباره بصمة فريدة ونهائية.

لماذا يهم هذا المطورين؟

  • يمكن تجاوز قوائم الحظر المبنية على هاش التزام واحد.
  • قد تتأثر سجلات التتبع وعمليات deduplication.
  • تتعرض سلاسل الإمداد البرمجي لالتباس في إثبات المصدر.
  • قد تحصل النسخ المكررة على شارة Verified رغم اختلاف الهاش.

كيف يمكن إعادة توليد هاش جديد دون كسر التوقيع؟

تعتمد الفكرة على ما يعرف بقابلية التلاعب بالتوقيع الرقمي. فهاش الالتزام في Git يُحسب اعتماداً على كل البيانات داخله، بما في ذلك البايتات الخام الخاصة بالتوقيع الموجود في الترويسة.

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

المسارات التي شملها الاختبار

  • مخططات GPG التي يدعمها GitHub في التحقق.
  • تواقيع S/MIME ضمن سيناريوهات محددة.
  • إعادة كتابة سلاسل الالتزامات للحفاظ على الترابط بين الآباء والأبناء.

هل تسمح ثغرة جيتهاب بتمرير كود خبيث؟

الإجابة المختصرة: لا، ليس بشكل مباشر. النسخ المختلفة من الالتزام تحتوي على الملفات نفسها تماماً، لذلك إذا كنت قد ثبّتَّ هاشاً بعينه فإما أن تحصل على المحتوى المتوقع أو تفشل العملية.

لكن الأزمة الحقيقية تظهر عندما تعتمد المؤسسات على جيتهاب وشارة Verified كمرجع نهائي للهوية، خاصة في أدوات الحظر، وسجلات provenance، وأنظمة البناء القابلة لإعادة الإنتاج.

ما المخاطر العملية على المشاريع وسلاسل التوريد؟

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

  • التأثير لا يقتصر على مستودع واحد بل قد يمتد إلى الأدوات المرتبطة به.
  • أي نظام يربط الثقة بالهاش وحده قد يحتاج إلى مراجعة.
  • الالتزامات اللاحقة في السلسلة قد تتغير هاشاتها أيضاً عند إعادة الكتابة.

ما الحل المتوقع من جيتهاب؟

لا توجد خطوات مطلوبة من أصحاب المستودعات حالياً داخل مشاريعهم، كما لم يصدر تصنيف CVE لهذه الحالة حتى الآن. الإصلاح المنطقي يجب أن يكون على مستوى المنصة نفسها، عبر تطبيع التوقيع قبل التحقق وإعادة تقييم معنى Verified.

وترى تيكبامين أن على الفرق الأمنية عدم الاكتفاء بهاش الالتزام الموثق كمعرّف وحيد، إلى أن يعالج جيتهاب هذه الفجوة بطريقة تمنع تكرار الهاشات الموثقة بصيغ متعددة.

التعليقات (1)


أضف تعليقك

عدد الأحرف: 0 يدعم: **نص غامق** *مائل* `كود` [رابط](url)

الكلمات المفتاحية:

#GitHub

مقالات مقترحة

محتوى المقال
جاري التحميل...