GitLab، یازدهم ژانویه ۲۰۲۴ هشداری در مورد یک آسیب پذیری بحرانی در نسخههای Community (CE) و Enterprise (EE) صادر کرد. آسیب پذیری بدون کلیک به یک مهاجم موفق اجازه میدهد تا به راحتی بدون هیچ گونه تعاملی، حسابهای کاربران را تصرف کند.
GitLab یک پلتفرم آنلاین DevOps است که به توسعه دهندگان اجازه میدهد تا در ایجاد نرم افزار با یکدیگر همکاری کنند. سازمانها میتوانند انتخاب کنند که GitLab را روی سرور(های) خود یا تحت کنترل GitLab در GitLab.com نصب نمایند. کاربرانِ نمونههایِ خود مدیریت شده برای رفع باگ، میبایست پچهای ارائه شده را دریافت و نصب نمایند. GitLab.com نیز در حال حاضر نسخه وصله شده را اجرا میکند.
این آسیب پذیری بدون کلیک، بحرانیترین مسئله امنیتی است که GitLab تا کنون با آن مواجه شده است و با شناسه CVE-2023-7028 (حداکثر امتیاز ۱۰ از ۱۰) دنبال میگردد. اکسپلویت موفق این آسیب پذیری نیازی به تعامل با کاربر ندارد. ریشه این آسیب پذیری آن است که میتوان ایمیلهای بازنشانی رمز عبور را به آدرسهای ایمیل تایید نشده هدایت کرد که امکان تصاحب اکانت را فراهم میآورد. اگر احراز هویت دو عاملی (2FA) فعال باشد، امکان بازنشانی رمز عبور وجود خواهد داشت، اما برای لاگین موفق به فاکتور دوم احراز هویت نیاز خواهد بود.
ربودن یک اکانت GitLab میتواند تأثیر قابل توجهی بر یک سازمان داشته باشد چرا که این پلتفرم معمولاً برای میزبانی کد اختصاصی، کلیدهای API و سایر دادههای حساس استفاده میشود.
این مسئله توسط محقق امنیتی “Asterion” از طریق پلتفرم باگ بانتی HackerOne کشف و به GitLab گزارش شده است که در یکم مِی ۲۰۲۳ با نسخه 16.1.0 معرفی گردید. نسخههای آسیب پذیر به شرح زیر میباشند:
- 1 قبل از 16.1.5
- 2 قبل از 16.2.8
- 3 قبل از 16.3.6
- 4 قبل از 16.4.4
- 5 قبل از 16.5.6
- 6 قبل از 16.6.4
- 7 قبل از 16.7.2
این آسیب پذیری بدون کلیک در نسخههای 16.7.2، 16.5.6 و 16.6.4 GitLab برطرف گشته که اصلاح آن نیز در نسخههای 16.1.6، 16.2.9 و 16.3.7 پشتیبانگیری شده است. GitLab خاطرنشان کرد که هیچ موردی از اکسپلویت فعال CVE-2023-7028 را شناسایی نکرده اما نشانههای نفوذ زیر را به اشتراک گذاشته است:
- gitlab-rails/production_json.log را برای درخواستهای HTTP به مسیر /users/password باvalue.email که از یک آرایه JSON با چندین آدرس ایمیل تشکیل شده است بررسی میکند.
- gitlab-rails/audit_json.log را برای ورودیهایی با caller.id PasswordsController#create و target_details متشکل از یک آرایه JSON با چندین آدرس ایمیل بررسی میکند.
یک آسیبپذیری مهم دیگر، CVE-2023-5356 (امتیاز CVSS : ۹.۶ از ۱۰) میباشد. یک مهاجم میتواند به منظور بهره برداری از ادغام Slack/Mattermost برای اجرای دستورات slash ( اسلش) به عنوان کاربر دیگر از آن سوء استفاده کند. دستورات اسلش در Mattermost، امکان ادغام برنامههای خارجی را در workspace فراهم میکنند و در Slack به عنوان میانبر برای فراخوانی برنام ها در composer box پیام عمل خواهند کرد.
سایر باگهایی که GitLab در نسخه 16.7.2 به آنها پرداخته است عبارتند از:
- CVE-2023-4812 – آسیبپذیری با شدت بالا در GitLab 15.3 و نسخههای جدیدتر که امکان دور زدن تأییدیه CODEOWNERS با ایجاد تغییراتی در درخواست ادغام تأیید شده قبلی را فراهم میآورد.
- CVE-2023-6955 – کنترل دسترسی نامناسب برای workspace های موجود در GitLab قبل از نسخه 16.7.2، به مهاجمان اجازه میدهد یک workspace در یک گروه مرتبط با یک عامل از گروه دیگر ایجاد کنند.
- CVE-2023-2030 – نقص اعتبار سنجی امضا که بر GitLab CE/EE نسخه 12.2 و بالاتر تأثیر میگذارد و شامل امکان تغییر متادیتاهای امضا شده به دلیل تأیید نامناسب امضا است.
برای دستورالعملها و منابع رسمی بهروزرسانی، صفحه بهروزرسانی GitLab را بررسی کنید.