GitLab תיקנה חולשה שאפשרה, בתנאים מסוימים, לפונה שאינו מזוהה כלל לקרוא קבצים מהשרת עצמו. הציון הוא 10 מתוך 10, המקסימום בסולם, וב-11 בספטמבר 2026 נכנסה החולשה לקטלוג החולשות המנוצלות בפועל של CISA. גרסאות התיקון הן 19.1.8, 19.2.6 ו-19.3.2.
מה החולשה?
ל-GitLab יש API שמחזיר מידע על קומיטים, כלומר על השינויים שנשמרו במאגר קוד. בקשה כזאת אמורה לעבור שני שלבים לפני שהיא מקבלת תשובה: לזהות מי שלח אותה ולוודא שמותר לו, ולתרגם את מה שביקש לנתיב קובץ שנמצא בתוך גבולות המאגר.
לפי GitLab, שני השלבים האלה כשלו באותה נקודה. הזיהוי לא נאכף, כך שהבקשה נענתה גם בלי חשבון, והנתיב לא נסגר בתוך הגבולות שלו, כך שאפשר היה לצאת ממנו אל קבצים אחרים בשרת. לכשל השני קוראים path traversal: ערך שמגיע מהבקשה מוציא את הקריאה מהתיקייה שהתוכנה התכוונה אליה.
כל אחד מהשניים לבדו היה מטרד. יחד הם מסבירים את הציון: אין צורך בחשבון, אין צורך בפעולה של מישהו בצד השני, ומה שנקרא אינו מוגבל למאגר אחד. הרשומה מדברת על קריאת קבצים, והווקטור מסמן גם פגיעה בשלמות המידע. במה היא מתבטאת לא מפורט שם.
מי מושפע?
הטווחים שברשומה הם כל הגרסאות מ-18.7 ועד 19.1.8, הענף 19.2 עד 19.2.6 והענף 19.3 עד 19.3.2, בכל המקרים לא כולל את גרסת התיקון עצמה. זה נוגע גם ל-GitLab CE וגם ל-GitLab EE, כלומר גם לגרסה החופשית וגם למסחרית.
מדובר בארגונים שמריצים GitLab על השרתים שלהם, ובישראל אלה חלק נכבד מצוותי הפיתוח, כולל כאלה שבחרו בהתקנה עצמית דווקא כדי שהקוד לא יישב אצל ספק חיצוני. הרשומה מתייחסת לגרסאות שמותקנות אצל הלקוח, כך שמי שעובד מול השירות המנוהל של GitLab תלוי בעדכון שהחברה מבצעת בצד שלה. שרת שנגיש מהאינטרנט ולא עודכן הוא המקרה שצריך לטפל בו ראשון.
האם מנוצלת בפועל?
כן. ב-11 בספטמבר 2026 נוספה החולשה לקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, רשימת החולשות שידוע כי תוקפים מנצלים אותן בפועל, והמועד שנקבע לגופים הפדרליים לסגור אותה הוא 14 בספטמבר 2026.
שרת GitLab מחזיק את הקוד של הארגון, ולא פעם גם מפתחות וסודות שנשמרו בו בדרך. קריאת קבצים ממנו אינה נגמרת בקבצים.
הרשומה מפנה לדיווח ב-HackerOne ולפריט העבודה שנפתח אצל GitLab. שם מתפרסמים הפרטים הטכניים כשהם נחשפים.
מה עושים?
1. בדקו איזו גרסה מותקנת אצלכם. מספר הגרסה מופיע בעמוד /help של ההתקנה.
2. עדכנו לגרסה שסוגרת את הענף שלכם: 19.1.8, 19.2.6 או 19.3.2 ומעלה. אין כאן גרסה אחת לכולם, ולכן כדאי לוודא באיזה ענף אתם לפני ההורדה.
3. אם השרת נגיש מהאינטרנט, טפלו בו לפני השאר. הניצול אינו דורש חשבון, כך שכל מי שמגיע אל השרת יכול לנסות.
4. אחרי העדכון עברו על יומני הגישה ל-API של הקומיטים וחפשו בקשות שלא הגיעו ממשתמש מזוהה. עדכון סוגר את הדלת, הוא אינו מספר לכם מי נכנס לפניו. אם אתם מוצאים סימנים כאלה, החלפת המפתחות והסודות שנשמרו בשרת היא הצעד הבא.