הפורטל של CentreStack, מוצר שיתוף הקבצים של Gladinet, הגיע עם מפתח חתימה קבוע בקובץ ההגדרות שלו, אותו מפתח בכל התקנה. מי שמכיר את המפתח יכול להכין אובייקט חתום שהשרת מקבל כשלו ומשחזר אותו, ובדרך הזאת להריץ עליו קוד. הציון הוא 9 מתוך 10, ולפי הרשומה החולשה נוצלה בשטח במרץ 2025.
מה החולשה?
שרת אינטרנט שמסתמך על ASP.NET שולח לדפדפן חלק ממצב העבודה שלו ומצפה לקבל אותו בחזרה בבקשה הבאה. הוא אינו יכול להניח שמה שחזר הוא מה שנשלח, ולכן הוא חותם את הנתונים לפני השליחה ובודק את החתימה כשהם חוזרים. המפתח שבו נעשית החתימה הזאת נקרא machineKey.
כל ההגנה הזאת נשענת על הנחה אחת: שהמפתח מוכר רק לשרת. אם לכל התקנה יש מפתח משלה, תוקף שמנסה להגריל נתונים חתומים נכשל בבדיקה. CentreStack הגיע עם אותו מפתח בכל מקום, וברגע שהוא ידוע ההנחה מתהפכת: התוקף יכול לחתום בעצמו על נתונים שהשרת יקבל כאילו הוא חתם עליהם.
מה שקורה אחר כך הוא החלק שהופך את זה מבעיית אמון להרצת קוד. השרת אינו מסתפק בקריאת הנתונים שחזרו, הוא מרכיב מהם בחזרה אובייקט בזיכרון. ההרכבה הזאת אינה העתקה: השרת קורא מתוך הנתונים עצמם מה לבנות ואילו ערכים למלא. תוקף שיכול להכתיב את התוכן בוחר אותו כך שעצם ההרכבה תפעיל שרשרת פעולות שהוא מכוון אליה. לתבנית הזאת קוראים deserialization של נתונים לא מהימנים.
המפתח הקבוע הוא הכשל הראשון, וה-deserialization הוא מה שהוא מאפשר. שני התנאים נדרשים כאן ביחד, ולכן הרשומה מסמנת את מורכבות הניצול כגבוהה: צריך להחזיק את המפתח. היא מסמנת גם שינוי היקף, כלומר הנזק אינו נעצר ברכיב שבו התחיל.
מי מושפע?
לפי הרשומה, גרסאות CentreStack עד 16.1.10296.56315 ועד בכלל. התיקון נכנס בגרסה 16.4.10315.56368.
CentreStack הוא לא מוצר שמשתמש פרטי מפעיל. ארגונים מתקינים אותו כדי לתת לעובדים ולשותפים גישה מהדפדפן אל שרתי קבצים פנימיים, ובישראל הוא יושב בעיקר אצל ספקי שירותי IT מנוהלים ובארגונים בסדר גודל בינוני. מה שחשוב כאן הוא לא כמה התקנות יש אלא איפה הן נמצאות: פורטל שנועד לגישה מבחוץ מופנה לאינטרנט כברירת מחדל, וזה בדיוק המקום שבו הווקטור הרשתי הזה משמעותי.
האם מנוצלת בפועל?
כן, והרשומה מפורשת בנקודה הזאת: היא קובעת שהחולשה נוצלה בשטח במרץ 2025. ב-8 באפריל 2025 היא נוספה לקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, רשימת החולשות שידוע שתוקפים משתמשים בהן בפועל, והמועד שנקבע לגופים הפדרליים האמריקאיים לסיום התיקון היה 29 באפריל 2025.
הסדר של התאריכים הוא העיקר. הרשומה פורסמה ב-NVD ב-3 באפריל 2025, והניצול שהיא מתארת קדם לה בחודש. מי שהתקין את העדכון בשבוע שהוא יצא לא בהכרח הקדים את התוקפים.
מה עושים?
1. עדכנו ל-16.4.10315.56368 או לגרסה חדשה ממנה. הודעת האבטחה של Gladinet מפרטת את הנושא, ועמוד הגרסאות של CentreStack מחזיק את ההורדה.
2. החליפו את המפתח, ואל תסתמכו על העדכון לבד. הרשומה מציינת במפורש שמנהל המערכת יכול למחוק ידנית את ה-machineKey שמוגדר בקובץ portal\web.config. זה הצעד שמנטרל את מה שכבר ידוע לתוקפים: מפתח שדלף נשאר שימושי כל עוד הוא נשאר במקומו.
3. הניחו שההתקנה נגעה ולא רק שהייתה חשופה, אם הפורטל שלכם היה מונגש לאינטרנט לפני העדכון. הרשומה מדברת על ניצול שקרה חודש לפני הפרסום, והתיקון סוגר את הדרך פנימה בלי להוציא מי שכבר נכנס. עברו על מה שרץ בצד השרת ועל חשבונות שנוספו או שונו.
4. בדקו אם הפורטל חייב להיות פתוח לכל האינטרנט. גם אחרי העדכון, צמצום הכתובות שיכולות להגיע אליו הוא ההפרש בין חולשה עתידית שמנוצלת מרחוק לחולשה שדורשת דריסת רגל מוקדמת.
5. את הרשומה המלאה, כולל הווקטור וההפניות, אפשר לראות בערך של החולשה בקטלוג CISA.