Metabase הוא כלי ניתוח נתונים שארגונים מתקינים על שרת משלהם כדי לבנות דוחות ותרשימים מעל מסדי הנתונים שלהם. בגרסאות 0.40.0 עד 0.40.4, ובמהדורה הארגונית 1.40.0 עד 1.40.4, התכונה שמאפשרת להוסיף מפה מותאמת אישית אינה בודקת לאן הכתובת שהוזנה בה מצביעה, וכך אפשר לגרום לשרת לקרוא קבצים מתוך עצמו ולהחזיר אותם. הציון שניתן לחולשה הוא 10 מתוך 10, והיא נמצאת בקטלוג החולשות שידוע על ניצולן בפועל.

מה החולשה?

במסך הניהול של Metabase יש אפשרות להוסיף מפה משלכם: מזינים כתובת של קובץ GeoJSON, פורמט שמתאר גבולות וצורות שאפשר לצייר על מפה, והשרת מוריד אותו משם. הבדיקה שהייתה חסרה היא הפשוטה שבכולן, מה הכתובת הזאת בעצם. לפי הרשומה הכתובות לא עברו אימות לפני הטעינה, ולכן אפשר להפנות את השרת אל נתיב מקומי בתוך המכונה שהוא רץ עליה במקום אל כתובת באינטרנט, והוא יקרא משם ויציג את מה שמצא. לסוג הבעיה הזה קוראים local file inclusion, מצב שבו מנגנון שנועד להביא קובץ מרחוק מגיש במקומו קובץ מהמכונה עצמה.

הרשומה מוסיפה פרט אחד שמסביר את הציון המלא: בין הדברים שאפשר להגיע אליהם כך נמצאים גם משתני הסביבה של התהליך. משתני סביבה הם ההגדרות שמוזרקות לתוכנה ברגע ההפעלה שלה, והמקום שבו שרת מחזיק מפתחות וסיסמאות בלי לכתוב אותם לקובץ שנשמר בדיסק.

הווקטור משלים את התמונה. התקיפה מגיעה מהרשת, המורכבות שלה נמוכה, לא נדרשות הרשאות מוקדמות ולא נדרשת פעולה של אף משתמש, והיא חוצה את גבול הרכיב שבו היא יושבת. זה השילוב שמביא את הציון עד 10.

מי מושפע?

הרשומה מונה את הגרסאות 0.40.0, 0.40.1, 0.40.2, 0.40.3 ו-0.40.4 במהדורה החופשית, ואת 1.40.0 עד 1.40.4 במהדורה הארגונית. התיקון יצא ב-0.40.5 וב-1.40.5, וכל גרסה שיצאה אחריהן כוללת אותו.

זה אינו מוצר שמגיע לבית פרטי. מי שעשוי להיות חשוף הוא ארגון שהקים לעצמו שרת Metabase לצוות הנתונים שלו, ובישראל מדובר בעיקר בחברות תוכנה, בסטארטאפים ובצוותי נתונים שבחרו בכלי שמותקן על שרת פנימי. כלי כזה יושב לפי הגדרתו מול מסדי הנתונים של הארגון ומחזיק את פרטי ההתחברות אליהם, ולכן שרת שנחשף אינו שרת אחד.

האם מנוצלת בפועל?

כן. ב-12 בנובמבר 2024 הוסיפה CISA, סוכנות הסייבר האמריקאית, את החולשה לקטלוג ה-KEV, רשימת החולשות שנאספה עליהן ראיה לכך שתוקפים משתמשים בהן בשטח ולא רק הערכה של חומרה. המועד שנקבע לגופים הפדרליים לטפל בה היה 3 בדצמבר 2024.

הרשומה פורסמה בנובמבר 2021, ובין הפרסום לכניסה לקטלוג עברו שלוש שנים. התיקון היה זמין כל אותו זמן.

מה עושים?

בדקו קודם איזו גרסה רצה אצלכם, ושדרגו ל-0.40.5 ומעלה במהדורה החופשית או ל-1.40.5 ומעלה במהדורה הארגונית. כל גרסה מאוחרת יותר כוללת את התיקון.

אם אי אפשר לשדרג עכשיו, ההודעה של היצרן מציעה מניעה זמנית אחת: להוסיף בשרת ה-proxy ההפוך, במאזן העומסים או ב-WAF שיושב לפני היישום כלל שמסנן ומאמת את הכתובות לפני שהן מגיעות אל Metabase.

אחרי השדרוג התייחסו לפרטי ההתחברות שהשרת מחזיק כאילו נחשפו, והחליפו אותם. זה הדבר שהשדרוג עצמו אינו עושה. הפרטים המלאים מופיעים בהודעת האבטחה של Metabase ובקומיט שתיקן את הקוד.