خانه » CVE-2025-10497

CVE-2025-10497

Allocation of Resources Without Limits or Throttling in GitLab

توسط Vulnerbyte Alerts
152 بازدید
هشدار سایبری CVE-2025-10497

چکیده

آسیب‌پذیری تخصیص منابع بدون محدودیت یا کنترل جریان در GitLab CE/EE به مهاجم بدون احراز هویت اجازه می‌دهد با ارسال پیلودهای مخرب، شرایط انکار سرویس (DoS) را ایجاد کرده و سرویس GitLab را مختل کند.

توضیحات

آسیب‌پذیری CVE‑2025‑10497 در GitLab CE/EE ناشی از تخصیص منابع بدون محدودیت یا کنترل جریان مطابق با CWE‑770 است. GitLab CE (Community Edition) نسخه رایگان و متن‌باز برای استفاده فردی و سازمان‌های کوچک است، در حالی که EE (Enterprise Edition) نسخه سازمانی با قابلیت‌های پیشرفته، مدیریت کاربران و پشتیبانی رسمی بوده و برای محیط‌های بزرگ ارائه می‌شود.

این آسیب‌پذیری بر بخش مربوط به پردازش ورودی در API GitLab تأثیر می‌گذارد و به مهاجم اجازه می‌دهد پیلودهای دستکاری‌شده را به اندپوینت‌های عمومی API ارسال کند. در نسخه‌های آسیب‌پذیر، این ورودی‌ها بدون محدودیت یا اعتبارسنجی مناسب پردازش می‌شوند و می‌توانند موجب مصرف بیش از حد منابع CPU یا حافظه و در نهایت ایجاد وضعیت انکار سرویس (DoS) شوند.

این حمله کاملاً بدون نیاز به احراز هویت و به‌صورت از راه دور قابل اجرا است. مهاجم می‌تواند درخواست‌های متعدد حاوی پیلودهای مخرب را به اندپوینت‌های مربوطه ارسال کند؛ پردازش این داده‌ها زمان‌بر و پرمصرف است و سرور GitLab را به حالت غیرقابل‌دسترس می‌رساند.

بهره‌برداری از این آسیب‌پذیری به‌سادگی قابل خودکارسازی است؛ مهاجم می‌تواند تنها با دسترسی عمومی به API GitLab و بدون نیاز به تعامل کاربر، پیلودهایی مانند JSONهای تو در تو (deeply nested JSON) یا آرایه‌های نامحدود (unbounded arrays) ارسال کند و منابع سرور را به طور کامل مصرف نماید. این فرآیند نیاز به دانش پایه GraphQL یا REST API دارد اما بدون پیش‌نیازهای اضافی قابل انجام است و می‌تواند عملکرد سرویس را در عرض چند دقیقه مختل کند. پیامد اصلی این آسیب‌پذیری تأثیر بالا بر در دسترس‌پذیری با اختلال کامل سرویس است. GitLab در نسخه‌های 18.3.5، 18.4.3 و 18.5.1 با اعمال محدودیت‌های کنترل جریان (throttling) و تقویت اعتبارسنجی ورودی (input validation) ، این ضعف را به طور کامل پچ کرده و پردازش پیلودهای پرمصرف را محدود کرده است.

CVSS

Score Severity Version Vector String
7.5 HIGH 3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

لیست محصولات آسیب پذیر

Versions Product
affected from 17.10 before 18.3.5

affected from 18.4 before 18.4.3

affected from 18.5 before 18.5.1

GitLab

لیست محصولات بروز شده

Versions Product
18.3.5

18.4.3

18.5.1

GitLab

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که GitLab را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
589,000 site:.ir “GitLab” GitLab

نتیجه گیری

این آسیب‌پذیری با شدت بالا در GitLab CE/EE، از طریق تخصیص منابع بدون محدودیت یا کنترل جریان، امکان ایجاد انکار سرویس (DoS) را فراهم می‌کند و می‌تواند عملکرد سرویس را مختل نماید. با توجه به انتشار پچ رسمی، اجرای فوری اقدامات زیر برای رفع کامل ضعف و کاهش سطح ریسک ضروری است:

  • به‌روزرسانی فوری: تمام نمونه های GitLab را به نسخه‌های امن 18.3.5، 18.4.3 یا 18.5.1 به روزرسانی کنید. این اقدام، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • فعال‌سازی محدودیت نرخ (Rate Limiting): محدودیت نرخ را برای اندپوینت‌های API فعال کنید تا درخواست‌های مکرر از IPهای مشکوک مسدود شود و حملات خودکار کاهش یابد.
  • نظارت و ثبت لاگ: سطح لاگ GitLab را روی DEBUG فعال کنید و از ابزارهایی مانند ELK Stack برای نظارت بر مصرف منابع CPU و حافظه استفاده نمایید. هشدارهایی برای پیلودهای بزرگ یا الگوهای غیرعادی در پردازش ورودی‌ها تنظیم کنید تا حملات احتمالی سریعاً شناسایی شوند.
  • ایزوله‌سازی و کنترل دسترسی: سرورهای GitLab را پشت فایروال اپلیکیشن وب (WAF) قرار دهید و قوانینی برای فیلتر کردن درخواست‌های GraphQL/REST با پیلودهای بزرگ اعمال کنید؛ همچنین، از شبکه توزیع محتوا (CDN) برای کاهش پیلود مستقیم سرور بهره ببرید.
  • تست و ارزیابی امنیتی: با ابزارهای اسکن امنیتی مانند OWASP ZAP یا Nessus تست نفوذ به‌ویژه با تمرکز بر سناریوهای DoS در APIها انجام دهید. همچنین تست بارگذاری (Load Testing) با ابزارهایی مانند JMeter برای شبیه‌سازی پیلودهای مخرب اجرا کنید تا پایداری سیستم پس از اعمال پچ بررسی شود.
  • آموزش و سیاست‌های امنیتی: تیم‌های DevOps را نسبت به ریسک‌های انکار سرویس در GitLab آگاه کنید و اصل حداقل دسترسی را برای استفاده از APIها اعمال نمایید.

اجرای این اقدامات به‌ویژه به‌روزرسانی فوری و فعال‌سازی محدودیت نرخ، ریسک ناشی از این آسیب‌پذیری را به‌حداقل رسانده و مقاومت GitLab در برابر حملات DoS مشابه را به‌طور قابل توجهی تقویت می‌کند.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)

در این ضعف، مهاجم بدون احراز هویت از اندپوینت‌های عمومی GitLab API به‌عنوان نقطه ورود استفاده می‌کند. ورودی‌ها بدون محدودیت اندازه یا ساختار پردازش می‌شوند و مهاجم می‌تواند با ارسال JSONهای deeply‑nested یا آرایه‌های نامحدود، سرور را وادار به تخصیص منابع سنگین کند. این ورودی‌های باز، سطح حمله‌ای فراهم می‌کنند که بدون نیاز به اعتبارنامه قابل بهره‌برداری است.

Impact (TA0040)

پیامد اصلی، اختلال در سرویس‌دهی GitLab از طریق مصرف کامل CPU و حافظه است. این وضعیت باعث کندی شدید، توقف پردازش درخواست‌های دیگر و در مواردی Crash کامل سرویس می‌شود. هیچ داده‌ای نقض نمی‌شود، اما در دسترس‌پذیری (Availability) به‌طور کامل هدف قرار می‌گیرد و امکان بهره‌برداری برای حملات DoS پایدار وجود دارد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-10497
  2. https://www.cvedetails.com/cve/CVE-2025-10497/
  3. https://about.gitlab.com/releases/2025/10/22/patch-release-gitlab-18-5-1-released/
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-10497
  5. https://vuldb.com/?id.329991
  6. https://nvd.nist.gov/vuln/detail/CVE-2025-10497
  7. https://cwe.mitre.org/data/definitions/770.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید