به تازگی چند آسیبپذیری امنیتی مهم در GitLab شناسایی شده که در صورت سوءاستفاده موفق، میتونن امنیت اطلاعات، حسابهای کاربری و سرورهای میزبان این پلتفرم رو به خطر بندازن. برای رفع مشکل، GitLab در تاریخ ۲۱ اکتبر ۲۰۲۶ نسخههای امنیتی جدیدی برای Community Edition (CE) و Enterprise Edition (EE) منتشر کرده که علاوه بر رفع چندین باگ، یک آسیبپذیری بحرانی با امکان اجرای کد دلخواه روی سرور رو هم برطرف میکنن. بر اساس اطلاعیه رسمی GitLab، بروزرسانی تمام نمونههای Self-Managed آسیبپذیر، باید در اولین فرصت انجام بشه.
جزئیات آسیبپذیریهای امنیتی GitLab
مهمترین مشکل امنیتی این باگ که با شناسه CVE-2026-110264 ثبت شده، به سرریز عدد صحیح (Integer Overflow) در کامپایلر عبارات باقاعده (Regular Expression) مربوط میشه. تحت شرایط خاص، مهاجم میتونه با ارسال یک عبارت باقاعده دستکاریشده، بدون احراز هویت، قابلیت اجرای کد دلخواه روی سرور GitLab رو به دست بیاره. امتیاز این آسیبپذیری در استاندارد CVSS برابر با 10 از 10 اعلام شده؛ بنابراین باید اون رو یک مشکل امنیتی با بالاترین سطح اهمیت در نظر گرفت.

تصویر(1)
علاوه بر این مورد، دو آسیبپذیری با شدت بالا هم در این بروزرسانی رفع شدن:
-
CVE-2026-15723: نقص در فرایند اتصال خودکار حسابهای OmniAuth به LDAP که با فعال بودن همزمان OmniAuth SAML و اتصال خودکار LDAP، میتونه زمینه تصاحب حسابهای متصل به LDAP رو فراهم کنه. امتیاز این آسیبپذیری 8.2 از 10 اعلام شده.
-
CVE-2026-112212: مشکل مسمومسازی کش (Cache Poisoning) در نقاط پایانی فراخوانی سرویس OAuth/OIDC که در شرایط خاص میتونه مسیر بعضی از فرایندهای احراز هویت رو به سمت یک سرور تحت کنترل مهاجم هدایت کنه. امتیاز این مورد 7.5 از 10 است.
کدوم نسخههای GitLab آسیبپذیر هستن؟
بر اساس اطلاعیه رسمی GitLab، نسخههای قدیمیتر از نسخههای اصلاحشده زیر در شاخههای اعلامشده تحت تأثیر آسیبپذیریها قرار دارن:
|
شاخه GitLab |
نسخه اصلاحشده |
|
19.5 |
19.5.1 |
|
19.4 |
19.4.3 |
|
19.3 |
19.3.6 |
|
19.2 |
19.2.9 |
|
19.1 |
19.1.9 |
|
19.0 |
19.0.10 |
|
18.11 |
18.11.13 |
این اصلاحات شامل نسخههای CE و EE میشن و در مواردی که نوع استقرار بهصورت جداگانه مشخص نشده، نصبهای مختلف GitLab مثل بستههای لینوکسی، نصب از سورس و استقرار مبتنی بر Helm هم تحت تأثیر قرار میگیرن.
کاربران میهن وب هاست چطور باید این مشکل امنیتی رو برطرف کنن؟
اگه GitLab رو روی سرور مجازی یا سرور اختصاصی خودتون در میهن وب هاست نصب و مدیریت میکنین، برای رفع این آسیبپذیریها مراحل زیر رو انجام بدین:
مرحله اول: نسخه فعلی GitLab رو بررسی کنین
ابتدا وارد پنل مدیریتی GitLab بشین و نسخه نصبشده رو بررسی کنین. در نصبهای مبتنی بر بسته لینوکسی، میتونین از دستور زیر هم استفاده کنین:
sudo gitlab-rake gitlab:env:info
مرحله دوم: از اطلاعات و تنظیمات سرور نسخه پشتیبان بگیرین
قبل از شروع بروزرسانی، از پایگاه داده، مخازن و اطلاعات ضروری GitLab نسخه پشتیبان تهیه کنین و از معتبر بودن نسخه پشتیبان مطمئن بشین. بهتره در زمان ارتقا، اجرای Pipeline ها و Job های فعال رو متوقف و در صورت نیاز حالت تعمیر و نگهداری رو فعال کنین.
مرحله سوم: نسخه اصلاحشده مناسب رو انتخاب کنین.
با توجه به شاخه فعلی GitLab، نسخه اصلاحشده متناظر رو انتخاب کنین. برای مثال، اگر از شاخه 19.5 استفاده میکنین، باید حداقل به نسخه 19.5.1 ارتقا بدین. اگر نسخه نصبشده قدیمیتره، مسیر ارتقا و نسخههای میانی موردنیاز رو طبق مستندات رسمی بررسی کنین؛ در بعضی موارد امکان ارتقای مستقیم به نسخه نهایی وجود نداره.
مرحله چهارم: بروزرسانی رو متناسب با روش نصب انجام بدین.
اگه GitLab از بستههای رسمی روی Ubuntu یا Debian نصب شده و نسخه Enterprise رو اجرا میکنین، نمونه دستور ارتقا به نسخه 19.5.1 به شکل زیره:
sudo apt update && sudo apt install gitlab-ee=19.5.1-ee.0
برای نسخه Community باید نام بسته و شناسه نسخه متناسب با اون انتخاب بشه. اگر از شاخه دیگه ای استفاده میکنین، شماره نسخه رو طبق جدول بالا و مسیر ارتقای تأییدشده تغییر بدین. در نصبهای Docker، Helm یا سورس دیگه، باید دستورالعمل اختصاصی همون روش نصب رو دنبال کرده و از اجرای دستورات مربوط به بستههای لینوکسی خودداری کنین.
مرحله پنجم: وضعیت سرویس و سلامت GitLab رو بررسی کنین
بعد از اتمام بروزرسانی در نصبهای مبتنی بر بسته لینوکسی، با دستورات زیر وضعیت سرویسها و سلامت کلی GitLab رو بررسی کنین:
sudo gitlab-ctl status
sudo gitlab-rake gitlab:check
در نهایت، نسخه نصبشده رو دوباره بررسی کنین و از عملکرد ورود کاربران، دسترسی به پروژهها و اجرای فرایندهای CI/CD مطمئن بشین.