watchTowr و HKCERT: CVE-2026-85706 در GitLab دیگر فقط advisory نیست

/images/gitlab-cve-2026-85706-commits-api.png

۱۰ سپتامبر ۲۰۲۶ گیت‌لب برای CE و EE سه نسخهٔ اضطراری گذاشت: ۱۹.۳.۲، ۱۹.۲.۶ و ۱۹.۱.۸. در یادداشت پچ یک مورد را Critical جدا کرده‌اند: CVE-2026-85706، Path Traversal در repository commits API. علت رسمی: confinement نشدن مسیر به‌علاوهٔ نبود enforcement احراز هویت. بردار: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N — امتیاز ۱۰.۰.

یک درخواست بدون لاگین، در شرایط آسیب‌پذیر، می‌تواند محتوای فایلی را برگرداند که این API اصلاً نباید دیده باشد: کانفیگ، secret، فایل روی دیسک سرور. پیچیدگی حمله پایین است؛ برای همین عدد CVSS این‌قدر بالا رفته.

نسخه‌های در معرض: همهٔ CE/EE از ۱۸.۷ تا قبل از ۱۹.۱.۸، شاخه ۱۹.۲ تا قبل از ۱۹.۲.۶، و ۱۹.۳ تا قبل از ۱۹.۳.۲. GitLab.com از قبل روی نسخهٔ پچ‌شده است. مشتری Dedicated کاری ندارد. مشکل مال self-managed است — مخصوصاً اگر instance روی اینترنت باشد.

فاصلهٔ disclosure تا probe خیلی کوتاه بود

یک روز بعد، ۱۱ سپتامبر، watchTowr نوشت باگ را reproduce کرده و روی honeypot جهانی‌اش (Attacker Eye) behavioral probe دیده. یعنی مهاجم‌ها جزئیات عمومی را reverse کرده و تست می‌کنند. خود watchTowr با اطمینان بالا گفته این باگ سریع به exploitation بی‌تشخیص در طبیعت می‌رود.

۱۴ سپتامبر بولتن HKCERT صریح‌تر است: CVE-2026-85706 در طبیعت exploit می‌شود. همان بولتن چند CVE دیگر همان بسته را هم لیست می‌کند، ولی فقط همین یکی را به‌خاطر exploitation فعال جدا کرده است.

گیت‌لب در خود patch notes این CVE را به CISA KEV وصل کرده و سه detection برای self-managed گذاشته (از جمله تلاش LFI برای gitlab.yml و پارامتر metadata.path). یعنی حتی اگر پچ را همین امروز بزنید، لاگ روزهای بین ۱۰ و ۱۵ سپتامبر را باید جدا شکار کرد.

الگوی شکار که watchTowr پیشنهاد می‌دهد: HTTP POST به مسیرهایی شبیه /api/v4/projects/{id}/repository/commits/ که پارامتر file.path دارند. نسخهٔ امن همان سه تایی بالاست؛ تا رسیدن به آن‌ها instance اینترنت‌اکسپوز را از دسترس عمومی بیرون بکشید.

آخرین مطالب