GitLab פרסמה תיקון לחולשה שמאפשרת, בתנאים מסוימים, למשתמש לא מזוהה לשנות או למחוק פרויקטים ציבוריים ונתוני משתמשים. הציון הוא 9.4 מתוך 10, והיא נוגעת גם לגרסה החינמית וגם למסחרית. התיקון נמצא בגרסאות 18.11.11, 19.0.8, 19.1.6 ו-19.2.4.
מה החולשה?
GitLab היא מערכת לניהול קוד מקור שארגונים מתקינים על שרת משלהם, ובה יושבים הפרויקטים, ההיסטוריה של השינויים והמשתמשים.
הפנייה למערכת נעשית בין היתר דרך ממשק בשם GraphQL, שבו הפונה מנסח בעצמו מה בדיוק הוא רוצה לקבל או לשנות. בשפה הזאת יש רכיב שנקרא directive, הנחיה שנצמדת לשאילתה ומשנה את אופן הטיפול בה. לפי GitLab, שימוש מסוים בהנחיה כזאת מביא את המערכת לבצע פעולות של שינוי ומחיקה בלי לוודא כראוי מי ביקש אותן.
התוצאה כאן אינה גניבת מידע אלא הרס שלו. הדירוג מסמן פגיעה נמוכה בסודיות אבל גבוהה בשלמות ובזמינות, וזה תיאור מדויק של מה שקורה: התוקף לא בהכרח קורא את הקוד שלכם, הוא משנה או מוחק אותו.
GitLab מסייגת וכותבת שהניצול אפשרי בתנאים מסוימים, בלי לפרט אילו. כדאי לקרוא את הסייג כפי שנכתב: לא כל התקנה חשופה באותה מידה, ואי אפשר לדעת מהרשומה איזו כן.
מי מושפע?
התקנות GitLab CE ו-EE בכל הגרסאות מ-18.2 ועד 18.11.11 שאינה כלולה, בענף 19.0 עד 19.0.8, בענף 19.1 עד 19.1.6 ובענף 19.2 עד 19.2.4.
בישראל GitLab רץ בהרבה בתי תוכנה, סטארטאפים וארגונים שמעדיפים להחזיק את הקוד שלהם על שרת שלהם ולא בשירות חיצוני. עבור ארגון כזה מדובר בשרת שמחזיק את הנכס המרכזי שלו.
ושווה לשים לב לניסוח "פרויקטים ציבוריים" שברשומה. הכוונה לפרויקטים שמוגדרים כציבוריים בתוך ההתקנה עצמה, וגם בהתקנה פנימית של ארגון יש כאלה.
האם מנוצלת בפועל?
לא לפי המידע הפומבי. החולשה אינה מופיעה בקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, הרשימה שמרכזת חולשות שידוע על ניצול שלהן.
מה שכן ידוע הוא מאיפה היא הגיעה. בין המקורות של הרשומה מופיע דיווח ב-HackerOne, כלומר החולשה הגיעה ל-GitLab מחוקר שדיווח עליה, ולא התגלתה בעקבות מתקפה. זה ההבדל בין תיקון שיוצא לפני שמישהו ניצל לבין תיקון שיוצא אחרי.
מה עושים?
עדכנו את GitLab לגרסה המתקנת בענף שלכם: 18.11.11, 19.0.8, 19.1.6 או 19.2.4. הפרטים פורסמו בהודעת שחרור התיקון של GitLab.
אם אתם על גרסה ישנה מ-18.2, בדקו את מסלול השדרוג המומלץ לפני שאתם קופצים ישירות לגרסה האחרונה. מעבר בין ענפים ב-GitLab אינו תמיד קפיצה אחת.
בינתיים בדקו מי יכול בכלל להגיע לשרת. התקנה שנגישה רק מהרשת הפנימית או דרך VPN מצמצמת דרמטית את מספר מי שיכול לשלוח אליה שאילתה כלשהי.
ומכיוון שהחולשה פוגעת בשלמות ובזמינות ולא בסודיות, שווה לוודא במקביל שהגיבוי שלכם עובד ושניסיתם לשחזר ממנו לאחרונה. מול חולשה שמוחקת, הגיבוי הוא ההגנה שבאמת נמדדת.