14. سپتامبر 2026
آسیبپذیری بحرانی GitLab با CVSS 10: خواندن فایل بدون احراز هویت (CVE-2026-85706)

CVSS 10.0. بدون لاگین. خواندن فایل دلخواه از دیسک سرور GitLab.
۱۰ سپتامبر ۲۰۲۶ گیتلب یک patch release بحرانی برای CE و EE منتشر کرد: ۱۹.۳.۲، ۱۹.۲.۶ و ۱۹.۱.۸. بین چند باگ این بسته، اعلام رسمی یکی را جدا میکند: CVE-2026-85706، Path Traversal در repository commits API. علت: confinement نشدن مسیر و نبود enforcement احراز هویت روی این API. بردار: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N — از شبکه، بدون کلیک کاربر، با تغییر Scope.
GitLab.com از قبل روی نسخه پچشده است. مشتری Dedicated لازم نیست کاری بکند. نصبهای self-managed باید فوری آپدیت شوند. گزارش از برنامه HackerOne، با تشکر از s3ntago.
نسخههای آسیبپذیر: همه نسخههای CE/EE از ۱۸.۷ تا قبل از ۱۹.۱.۸، ۱۹.۲ تا قبل از ۱۹.۲.۶، و ۱۹.۳ تا قبل از ۱۹.۳.۲. همین روز چند باگ دیگر هم آمده (از جمله deserialization در GraphQL مخصوص EE با CVSS 9.9) ولی CVE-2026-85706 بهخاطر unauth بودن و CVSS 10 اولویت اول است.
Self-managed GitLab معمولاً secrets را جایی نزدیک کد نگه میدارد: .env، کلید CI/CD، فایلهای configuration، گاهی credential روی دیسک. خواندن arbitrary file بدون لاگین یعنی مهاجم لازم نیست عضو پروژه باشد. اگر instance روی اینترنت است و هنوز روی ۱۹.۳.۱ / ۱۹.۲.۵ / ۱۹.۱.۷ یا قدیمیتر است، این باگ از آنهایی است که نباید در صف «بعداً» بماند.
در لاگ دنبال چه بگردید
watchTowr گفته با یک درخواست HTTP میشود فایل دلخواه خواند و مدافعان باید در لاگ دنبال این الگو بگردند:
- HTTP POST به مسیرهایی شبیه
/api/v4/projects/{id}/repository/commits/ - پارامترهایی که
file.pathدارند
خود گیتلب در patch notes این CVE را «actively exploited» برچسب نزده. یک روز بعد watchTowr گفت در طبیعت probe برای این path traversal دیده؛ بر اساس سابقه باگهای گیتلب، فاصله probe تا exploitation گسترده معمولاً کوتاه است.
همان روز CISA این CVE را به KEV اضافه کرد و تحت BOD 26-04 به سازمانهای فدرال آمریکا حدود سه روز مهلت داد. KEV یعنی دولت آمریکا exploitation را جدی گرفته، حتی اگر جزئیات عمومی exploit کامل نباشد. این چهارمین CVE گیتلب از نوامبر ۲۰۲۱ است که CISA آن را actively exploited اعلام میکند.
فوری به ۱۹.۳.۲ یا ۱۹.۲.۶ یا ۱۹.۱.۸ — هر کدام شاخه شماست — برسید. اگر instance اینترنتاکسپوز است، تا پچ شدن دسترسی را محدود کنید. فرض نکنید «فقط GitLab.com مهم است»؛ مشکل مال self-managed است.