חולשה ב-CyberPanel, פאנל לניהול שרתים שמארחים אתרים, מאפשרת לתוקף לעקוף את מערכת האימות ולהריץ פקודות על השרת. הציון הוא 10 מתוך 10, המקסימום האפשרי. לפי הרשומה היא נוצלה בשטח באוקטובר 2024 בידי PSAUX, והגרסאות החשופות הן עד 2.3.6 וגם 2.3.7 שלא הוחל עליה התיקון.
מה החולשה?
יש כאן שתי טעויות שמצטרפות, וההצטרפות היא מה שמביא לציון המלא.
הראשונה היא בשכבת ההגנה. ל-CyberPanel יש רכיב ביניים, secMiddleware, שתפקידו לבדוק בקשות לפני שהן מגיעות לקוד שמטפל בהן. לפי הרשומה הרכיב הזה בודק רק בקשות מסוג POST. כלומר מי שמנסח את אותה בקשה בשיטה אחרת אינו עובר דרכו בכלל. השומר עומד בפתח אחד, והפתח השני פתוח.
השנייה היא במה שמחכה מעבר לפתח. הפונקציה getresetstatus, בשני מסלולים שונים בפאנל, מקבלת פרמטר בשם statusfile. מה שנכתב בפרמטר הזה מגיע אל מערכת ההפעלה כחלק מפקודה, וכמו בכל הזרקת פקודות, תווים מיוחדים בתוכו מאפשרים לסגור את הפקודה המקורית ולהוסיף אחריה אחרת. הסיווג ברשומה הוא CWE-78.
חברו את השתיים ותקבלו את מה שהדירוג מתאר: תוקף מהרשת, בלי שם משתמש וסיסמה, בלי הרשאה ובלי שמישהו בצד השני יעשה דבר, מריץ פקודות על השרת. הדירוג גם מסמן שינוי scope, כלומר שהנזק אינו נעצר ברכיב שנשבר, וזה מה שמשלים את הציון ל-10.
ושווה להבין מה פאנל כזה מחזיק בידיו. הוא מנהל את האתרים שרצים על השרת, את בסיסי הנתונים שלהם ואת החשבונות שלהם. מי ששולט בפאנל שולט בכל האתרים שמתחתיו, לא באחד מהם.
מי מושפע?
הרשומה מונה כל גרסה של CyberPanel שקודמת ל-2.3.8, ומציינת במפורש שגם 2.3.7 חשופה כל עוד לא הוחל עליה התיקון.
בישראל מדובר בעיקר בשרתים של מי שמארח אתרים, שלו או של אחרים: סטודיו אינטרנט שמחזיק את האתרים של לקוחותיו, פרילנסר עם שרת אחד, או ארגון שבחר לנהל את האתרים שלו בעצמו ולא בשירות מנוהל.
וזו גם הסיבה שחולשה כזאת פוגעת רחב. פאנל אחד שנפרץ אינו אתר אחד שנפרץ. בעל אתר שהאתר שלו יושב על שרת כזה אינו יכול לעשות דבר בעצמו, והשאלה היחידה שיש לו היא למי לפנות.
האם מנוצלת בפועל?
כן, והעדות כאן חריגה בבהירות שלה. הרשומה עצמה כותבת שהחולשה נוצלה בשטח באוקטובר 2024 בידי PSAUX. ב-4 בדצמבר 2024 היא נכנסה לקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, רשימת החולשות שידוע כי תוקפים מנצלים אותן בפועל, עם מועד תיקון לגופים הפדרליים ב-25 בדצמבר 2024.
המתקפה דווחה בזמנה באתר BleepingComputer, והניתוח הטכני של החולשה פורסם בבלוג של החוקר refr4g. כלומר כאן אין מדובר בהערכה שמישהו עשוי לנצל את החולשה, אלא בקמפיין כופר מתועד שכבר קרה.
מה עושים?
1. עדכנו ל-2.3.8 או לגרסה חדשה יותר. אם אתם על 2.3.7, בדקו אם התיקון הוחל, מפני שהרשומה מסמנת גם אותה כחשופה בלעדיו. התיקון עצמו פורסם כקומיט במאגר של הפרויקט.
2. הוציאו את ממשק הפאנל מהאינטרנט הפתוח. פאנל ניהול אינו צריך להיות נגיש לכל העולם, והגבלת הגישה אליו לרשימת כתובות או דרך VPN מצמצמת את החשיפה גם לחולשה הבאה.
3. הניחו פריצה ובדקו בהתאם, במיוחד אם השרת היה חשוף בסוף 2024. חולשה שנוצלה בקמפיין כופר מתועד היא חולשה שכדאי להניח שהגיעה גם אליכם: חפשו חשבונות מנהל שאינכם מזהים, משימות מתוזמנות שלא אתם יצרתם, וקבצים חדשים בתיקיות האתרים.
4. החליפו את פרטי האימות של השרת ושל האתרים שעליו: סיסמת הפאנל, סיסמאות בסיסי הנתונים ומפתחות ה-SSH. פקודה שרצה על השרת יכלה לקרוא את כולם.
5. בדקו את הגיבויים לפני שאתם נשענים עליהם. בקמפיין כופר הגיבוי הוא המטרה השנייה, וגיבוי ששמור על אותו שרת עצמו אינו גיבוי.