آخرین اخبار
همهٔ اخبار
اکسپلویت‌ها گزارش بحرانیت ۹/۱۰

آسیب‌پذیری بحرانی RCE در GitLab؛ امکان اجرای کد از راه دور با استفاده از Integer Overflow

آسیب‌پذیری بحرانی RCE در GitLab؛ امکان اجرای کد از راه دور با استفاده از Integer Overflow

یک آسیب‌پذیری بسیار بحرانی (Critical) با امتیاز کامل ۱۰.۰ در نسخه‌های GitLab CE/EE کشف شده است که به مهاجمان اجازه می‌دهد بدون نیاز به احراز هویت (Unauthenticated)، کد مخرب خود را روی سرور اجرا کنند.

جزئیات فنی و تحلیل آسیب‌پذیری

این نقص امنیتی ناشی از یک خطای Integer Overflow (CWE-190) در مسیر کامپایل عبارات منظم (Regular Expression) است. زمانی که یک مهاجم یک عبارت منظم (Regex) دست‌کاری شده را به یکی از نقاط انتهایی (Endpoints) GitLab ارسال می‌کند، محاسبات ریاضی مربوط به اندازه یا آفست‌ها دچار سرریز عددی شده و منجر به فساد حافظه (Memory Corruption) می‌شود. این فرآیند می‌تواند منجر به Remote Code Execution (RCE) شود.

  • نوع حمله: اجرای کد از راه دور (RCE)
  • سطح دسترسی: بدون نیاز به احراز هویت (Unauthenticated)
  • پیچیدگی حمله: پایین (Low Complexity) – با توجه به اینکه حمله از طریق شبکه قابل انجام است.
  • تأثیر: دسترسی کامل به محرمانگی، یکپارچگی و در دسترس بودن (CIA) سیستم.

نسخه‌های آسیب‌پذیر

محدوده وسیعی از نسخه‌های GitLab تحت تأثیر قرار گرفته‌اند، از جمله:

  • تمام نسخه‌های سری 7.0 تا قبل از 18.11.13
  • نسخه‌های سری 19.0 تا قبل از 19.0.10
  • نسخه‌های سری 19.1 تا قبل از 19.1.9
  • نسخه‌های سری 19.2 تا قبل از 19.2.9
  • نسخه‌های سری 19.3 تا قبل از 19.3.6
  • نسخه‌های سری 19.4 تا قبل از 19.4.3
  • و نسخه‌های سری 19.5 تا قبل از 19.5.1

وضعیت اکسپلویت و ریسک

با توجه به وجود گزارش‌های عمومی که به نحوه عملکرد این آسیب‌پذیری اشاره دارند، ریسک بهره‌برداری از این نقص در دنیای واقعی بسیار بالا ارزیابی می‌شود. از آنجایی که GitLab معمولاً به عنوان مرکز مدیریت کد منبع، خطوط لوله CI/CD و مدیریت اسرار (Secrets) عمل می‌کند، تسلط بر آن می‌تواند منجر به نشت اطلاعات حساس و اختلال در فرآیندهای توسعه نرم‌افزار شود.

اقدامات اصلاحی و پیشنهادات

به‌روزرسانی فوری: توصیه می‌شود بلافاصله نسخه‌های GitLab خود را به نسخه‌های اصلاح‌شده (Patch) از جمله 18.11.13، 19.0.10، 19.1.9، 19.2.9، 19.3.6، 19.4.3 یا 19.5.1 و بالاتر ارتقا دهید.

راهکارهای موقت: در صورتی که ارتقا فوری امکان‌پذیر نیست، اقدامات زیر را انجام دهید:

  • محدود کردن دسترسی شبکه به سرورهای GitLab از طریق VPN یا لیست‌های سفید (Allowlisting).
  • شناسایی و غیرفعال کردن ویژگی‌هایی که از کامپایل عبارات منظم توسط کاربر استفاده می‌کنند.
  • مانیتورینگ دقیق درخواست‌های مشکوک که حاوی الگوهای پیچیده Regex هستند.