ثغرات أمنية في GitLab تسمح باختطاف الحساب وتنفيذ الأوامر تحت مستخدم آخر

تم نشر التحديثات التصحيحية للنظام الأساسي لتنظيم التطوير التعاوني - GitLab 16.7.2 و16.6.4 و16.5.6، والتي تعمل على إصلاح اثنتين من نقاط الضعف الحرجة. تسمح الثغرة الأمنية الأولى (CVE-2023-7028)، والتي تم تعيينها لمستوى الخطورة الأقصى (10 من 10)، بالاستيلاء على حساب شخص آخر من خلال التلاعب في نموذج استرداد كلمة المرور المنسية. سبب الثغرة الأمنية هو إمكانية إرسال بريد إلكتروني يحتوي على رمز إعادة تعيين كلمة المرور إلى عناوين بريد إلكتروني لم يتم التحقق منها. بدأت المشكلة في الظهور منذ إصدار GitLab 16.1.0، الذي قدم القدرة على إرسال رمز استعادة كلمة المرور إلى عنوان بريد إلكتروني احتياطي لم يتم التحقق منه.

للتحقق من حقائق اختراق الأنظمة، يُقترح التقييم في سجل gitlab-rails/production_json.log لوجود طلبات HTTP إلى معالج /users/password تشير إلى مجموعة من رسائل البريد الإلكتروني المتعددة في "params.value.email" " معامل. يُقترح أيضًا التحقق من الإدخالات في سجل gitlab-rails/audit_json.log بالقيمة PasswordsController#create في meta.caller.id والإشارة إلى مصفوفة من عدة عناوين في كتلة target_details. لا يمكن إكمال الهجوم إذا قام المستخدم بتمكين المصادقة الثنائية.

الثغرة الثانية، CVE-2023-5356، موجودة في كود التكامل مع خدمات Slack و Mattermost، وتسمح لك بتنفيذ أوامر /- تحت مستخدم آخر بسبب عدم التحقق من التفويض المناسب. تم تعيين مستوى خطورة للمشكلة يبلغ 9.6 من 10. تعمل الإصدارات الجديدة أيضًا على إزالة ثغرة أمنية أقل خطورة (7.6 من 10) (CVE-2023-4812)، والتي تسمح لك بتجاوز موافقة CODEOWNERS عن طريق إضافة تغييرات إلى برنامج تمت الموافقة عليه مسبقًا طلب الدمج.

ومن المقرر الكشف عن معلومات تفصيلية حول الثغرات الأمنية التي تم تحديدها بعد 30 يومًا من نشر الإصلاح. تم تقديم الثغرات الأمنية إلى GitLab كجزء من برنامج مكافأة الثغرات الأمنية الخاص بـ HackerOne.

المصدر: opennet.ru

إضافة تعليق