الأخبار

تسبب خطأ GitHub في قيام المستخدمين بتسجيل الدخول إلى حسابات مستخدمين أخرى

GitHub bug caused users to login to other user accounts
 
الليلة الماضية، قام GitHub بتسجيل خروج العديد من المستخدمين تلقائيًا عن طريق إبطال جلسات GitHub.com الخاصة بهم لحماية حسابات المستخدمين من ثغرة أمنية خطيرة محتملة. وفي وقت سابق من هذا الشهر، تلقت GitHub تقريرًا عن سلوك غير طبيعي من طرف خارجي.

ينبع السلوك الشاذ من ثغرة أمنية نادرة حيث تم توجيه جلسة تسجيل دخول مستخدم GitHub بشكل خاطئ إلى متصفح الويب لمستخدم آخر قام بتسجيل الدخول، مما يمنح الأخير ملف تعريف ارتباط جلسة مصدق عليه والوصول إلى حساب المستخدم السابق.
 
يسجل GitHub خروج المستخدمين تلقائيًا بسبب خطأ
اعتبارًا من يوم أمس، قام GitHub بتسجيل الخروج من جميع المستخدمين الذين قاموا بتسجيل الدخول قبل 8 مارس، 12:03 بالتوقيت العالمي المنسق. تم اتخاذ هذه الخطوة بعد أسبوع تقريبًا من تلقي الشركة تقريرًا أوليًا عن سلوك مشبوه على GitHub.com من جهة خارجية.

"في 2 مارس، تلقى GitHub تقريرًا خارجيًا عن سلوك غير طبيعي لجلسة مستخدم GitHub.com التي تمت مصادقتها".

يذكر إعلان أمان من الشركة: "عند تلقي التقرير، بدأت GitHub Security and Engineering على الفور في التحقيق لفهم السبب الجذري لهذه المشكلة وتأثيرها وانتشارها على GitHub.com".

في يوم الجمعة، 5 مارس، قامت فرق GitHub بإصلاح الخلل الأمني ​​واستمرت في التحليل خلال عطلة نهاية الأسبوع.

علاوة على ذلك، كان إبطال جميع الجلسات الليلة الماضية هو الخطوة الأخيرة التي تم اتخاذها لإصلاح الخطأ.

وفقًا لـ GitHub، يمكن استغلال الثغرة الأمنية في ظروف نادرة للغاية عند حدوث حالة سباق أثناء معالجة طلب الواجهة الخلفية.

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

"من المهم ملاحظة أن هذه المشكلة لم تكن نتيجة اختراق كلمات مرور الحساب أو مفاتيح SSH أو رموز الوصول الشخصية (Personal Access Tokens PATs) ولا يوجد دليل يشير إلى أن هذا كان نتيجة اختراق أي من أنظمة GitHub الأخرى". "بدلاً من ذلك، كانت هذه المشكلة بسبب المعالجة غير الصحيحة النادرة والمعزولة لجلسات المصادقة".

يقول Mike Hanley، كبير مسئولي الأمن في GitHub: "علاوة على ذلك، لا يمكن تشغيل هذه المشكلة عن قصد أو توجيهها بواسطة مستخدم ضار".
 
تأثر أقل من 0.001٪ من الجلسات
تذكر الشركة أن الخطأ الأساسي كان موجودًا على GitHub.com لفترة تراكمية تقل عن أسبوعين في نقاط زمنية معينة بين 8 فبراير و 5 مارس 2021.

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

هذا ما تسبب في قيام GitHub بإلغاء جميع جلسات تسجيل الدخول النشطة قبل منتصف يوم 8 مارس.

لا يوجد دليل على أن أصول أو منتجات GitHub.com الأخرى مثل GitHub Enterprise Server قد تأثرت نتيجة لهذا الخطأ.

"نعتقد أن خطأ هذه الجلسة حدث في أقل من 0.001٪ من الجلسات المصادق عليها على GitHub.com".

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

على الرغم من أننا لم نؤكد بعد المدى الكامل لتأثير هذا الخطأ، إلا أن تقدير 0.001٪ من الجلسات المصادق عليها قد يعني أكثر من عشرات الآلاف من الحسابات، مع الأخذ في الاعتبار أن GitHub تحصل على أكثر من 32 مليون زائر نشط (مصادق عليهم أم لا) في شهر واحد.

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

يمكن لنقاط ضعف المصادقة مثل هذه إذا تم استغلالها من قبل الخصوم أن تمهد الطريق لهجمات سلسلة توريد البرمجيات السرية.