החולשה הזאת שונה מרוב מה שנכנס לרשימות החולשות המנוצלות, כי היא אינה מתחילה מתוקף אלמוני מהאינטרנט. כדי לנצל אותה צריך כבר להחזיק בידיים מפתחות פנימיים של השרת, ומי שמחזיק בהם יכול להריץ קוד על שרת ה-ScreenConnect. היא נוגעת לגרסאות 25.2.3 ומטה, ו-CISA הכניסה אותה ביוני 2025 לקטלוג החולשות המנוצלות בפועל.
מה החולשה?
אתרים שנבנו בטכנולוגיית ASP.NET Web Forms צריכים לזכור בין לחיצה ללחיצה מה היה מצב העמוד, אילו שדות מולאו ומה נבחר. במקום להחזיק את המצב הזה אצלם, הם אורזים אותו, מקודדים ב-Base64 ושולחים הלוך ושוב עם הדפדפן של המשתמש. החבילה הזאת נקראת ViewState, וכדי שהמשתמש לא ישנה אותה בדרך היא מוגנת במפתחות של השרת, ה-machine keys.
השרת סומך על החבילה בזכות ההגנה הזאת. הוא פותח אותה ובונה מחדש את האובייקטים שהיו בתוכה, וזה בדיוק המקום הרגיש: תהליך שמרכיב אובייקטים מתוך נתונים שהגיעו מבחוץ יכול, אם הנתונים נבחרו בקפידה, להרכיב משהו שמריץ קוד. לתבנית הזאת קוראים deserialization של קלט לא מהימן. כל ההגנה נשענת על כך שהמפתחות נשארים סודיים, ומי שמשיג אותם יכול להכין חבילה משלו שהשרת יקבל כאילו הוא עצמו בנה אותה.
ConnectWise מוסיפה בתיאור הרשמי שתי הסתייגויות שכדאי לקרוא לפני שנבהלים. לדבריה מקור הסיכון אינו בפגם שהיא הכניסה למוצר אלא בהתנהגות של הפלטפורמה שעליה הוא בנוי, וכדי להשיג את המפתחות מלכתחילה נדרשת כבר גישה ברמת מערכת לשרת. ציון ה-CVSS משקף את התנאי הזה: 8.1, עם סיבוכיות תקיפה גבוהה. בעדכון 2025.4 החברה לא הסתפקה בתיקון נקודתי אלא ביטלה את השימוש ב-ViewState והסירה את התלות בו, וטווח הגרסאות המושפעות ב-NVD נסגר בגרסה 25.2.4.
מי מושפע?
שרתי ScreenConnect בגרסה 25.2.3 ומטה. נקודה חשובה מהתיאור: הצד של הלקוח, כלומר התוכנה הקטנה שרצה על המחשב המרוחק שאליו מתחברים, אינו מושפע ישירות. הבעיה כולה בצד השרת.
בישראל מדובר בעיקר בספקי שירותי IT ובמחלקות תמיכה שמריצות שרת כזה בעצמן. משתמש פרטי אינו מתקין את זה ואינו צריך לעשות דבר.
האם מנוצלת בפועל?
כן, לפי CISA. ב-2 ביוני 2025 נוספה החולשה לקטלוג ה-KEV, הרשימה שסוכנות הסייבר האמריקאית מנהלת עבור חולשות שידוע כי הן מנוצלות בשטח, והמועד לסגירה בגופים הפדרליים נקבע ל-23 ביוני 2025.
שווה להחזיק את שתי העובדות יחד בלי לטשטש אף אחת מהן. מצד אחד הניצול מחייב שהתוקף כבר יחזיק במפתחות השרת, כלומר שהוא כבר הגיע לעמדה חזקה. מצד שני זה קורה. הקריאה הסבירה של השילוב הזה היא שהחולשה משמשת כשלב בהמשך שרשרת, ולא כדלת הכניסה הראשונה.
מה עושים?
1. בדקו את גרסת השרת. אם היא 25.2.3 או ישנה יותר, התקינו את עדכון 2025.4 ומעלה. הודעת האבטחה של ConnectWise מתארת מה העדכון עושה.
2. אם השרת רץ בגרסה ישנה לאורך זמן, התייחסו למפתחות שלו כאל מפתחות שייתכן שכבר יצאו החוצה. ביטול ה-ViewState סוגר את דרך הניצול, אבל אינו הופך מפתח שדלף לסודי מחדש.
3. בדקו מי בכלל יכול להגיע לשרת ברמת מערכת, כי זו הדרישה המוקדמת לניצול. צמצום ההרשאות והגישה למכונה עצמה הוא ההגנה שמחזיקה גם מול חולשות אחרות מאותה משפחה.
4. מי שמפעיל את המוצר עבור לקוחות: דף ההתראות של ConnectWise מרכז את ההודעות, ושווה להיות רשומים אליו כדי לא לגלות עדכון כזה באיחור.