GitLab has remediated an issue in GitLab EE affecting all versions from 18.7 before 18.9.7, 18.10 before 18.10.6, and 18.11 before 18.11.3 that could have allowed an authenticated user to execute arbitrary JavaScript in other users' browsers due to improper input sanitization.
GitLab Enterprise Edition contains a stored cross-site scripting (XSS) vulnerability affecting versions 18.7-18.9.6, 18.10-18.10.5, and 18.11-18.11.2 that allows authenticated users to execute arbitrary JavaScript in other users' browsers through improper input sanitization. With a CVSS score of 8.7, this vulnerability poses significant risk to organizations using GitLab for source code management and CI/CD pipelines. While no public exploit is currently available, the vulnerability requires immediate attention due to its high severity and potential for account compromise, data theft, and lateral movement within enterprise environments.
IMMEDIATE ACTIONS:
1. Identify all GitLab EE instances running affected versions (18.7-18.9.6, 18.10-18.10.5, 18.11-18.11.2) across your organization
2. Restrict access to GitLab to essential personnel only until patching is complete
3. Review GitLab audit logs for suspicious activity, particularly user interactions with project descriptions, comments, and wiki pages
4. Monitor for signs of account compromise or unauthorized JavaScript execution
PATCHING GUIDANCE:
1. Upgrade immediately to GitLab EE 18.9.7, 18.10.6, or 18.11.3 or later
2. Test patches in non-production environments first
3. Plan maintenance windows to minimize business disruption
4. Verify patch application by checking GitLab version in Admin Panel
COMPENSATING CONTROLS (if patching delayed):
1. Implement Web Application Firewall (WAF) rules to detect and block XSS payloads in GitLab requests
2. Enable Content Security Policy (CSP) headers to restrict JavaScript execution
3. Disable or restrict user ability to edit project descriptions, comments, and wiki content
4. Implement strict input validation on all user-facing fields
5. Enforce multi-factor authentication (MFA) for all GitLab users
6. Conduct daily security audits of user activities and permission changes
DETECTION RULES:
1. Monitor for JavaScript payloads in GitLab API requests (look for <script>, javascript:, onerror=, onload= patterns)
2. Alert on unusual modifications to project descriptions, comments, and wiki pages
3. Track session anomalies and impossible travel scenarios
4. Monitor for bulk permission changes or group membership modifications
5. Implement SIEM rules to detect XSS attack patterns in GitLab logs
الإجراءات الفورية:
1. تحديد جميع مثيلات GitLab EE التي تعمل بالإصدارات المتأثرة (18.7-18.9.6، 18.10-18.10.5، 18.11-18.11.2) عبر مؤسستك
2. تقييد الوصول إلى GitLab للموظفين الأساسيين فقط حتى اكتمال التصحيح
3. مراجعة سجلات تدقيق GitLab للنشاط المريب، خاصة تفاعلات المستخدم مع أوصاف المشاريع والتعليقات وصفحات Wiki
4. مراقبة علامات اختراق الحسابات أو تنفيذ JavaScript غير المصرح به
إرشادات التصحيح:
1. الترقية فوراً إلى GitLab EE 18.9.7 أو 18.10.6 أو 18.11.3 أو إصدار أحدث
2. اختبار التصحيحات في بيئات غير الإنتاج أولاً
3. التخطيط لنوافذ الصيانة لتقليل انقطاع الأعمال
4. التحقق من تطبيق التصحيح بفحص إصدار GitLab في لوحة المسؤول
الضوابط البديلة (إذا تأخر التصحيح):
1. تنفيذ قواعد جدار حماية تطبيقات الويب (WAF) للكشف عن حمولات XSS وحجبها في طلبات GitLab
2. تفعيل رؤوس سياسة أمان المحتوى (CSP) لتقييد تنفيذ JavaScript
3. تعطيل أو تقييد قدرة المستخدم على تحرير أوصاف المشاريع والتعليقات وصفحات Wiki
4. تنفيذ التحقق الصارم من المدخلات على جميع الحقول المواجهة للمستخدم
5. فرض المصادقة متعددة العوامل (MFA) لجميع مستخدمي GitLab
6. إجراء عمليات تدقيق أمان يومية لأنشطة المستخدمين وتغييرات الأذونات
قواعد الكشف:
1. مراقبة حمولات JavaScript في طلبات GitLab API (ابحث عن أنماط <script>، javascript:، onerror=، onload=)
2. التنبيه على التعديلات غير العادية على أوصاف المشاريع والتعليقات وصفحات Wiki
3. تتبع شذوذ الجلسة وسيناريوهات السفر المستحيل
4. مراقبة تغييرات الأذونات الجماعية أو تعديلات عضوية المجموعة
5. تنفيذ قواعس SIEM للكشف عن أنماط هجمات XSS في سجلات GitLab