שירות TeleMessage, עד ה-5 במאי 2025, הפעיל רכיב תשתית לניטור בתצורה שהשאירה כתובת אחת פתוחה לכל מי שביקש אותה: /heapdump, שמחזירה עותק של זיכרון העבודה של השרת. הציון הוא 5.3, והחולשה נמצאת בקטלוג החולשות שמנוצלות בפועל, לאחר שנוצלה במאי 2025.

מה החולשה?

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

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

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

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

מי מושפע?

הרשומה מתייחסת לשירות TeleMessage של Smarsh, בגרסאות עד ה-5 במאי 2025, ואינה מציינת רשימת גרסאות מוצר. זהו שירות ארגוני ייעודי, ורוב הקוראים בישראל אינם משתמשים בו ואינם צריכים לעשות דבר בעניינו.

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

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

כן, והרשומה אומרת זאת בגוף התיאור ולא רק בקטלוג: לפי הניסוח שלה, החולשה נוצלה בשטח במאי 2025. ב-1 ביולי 2025 היא נכנסה לקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, רשימת החולשות שידוע כי תוקפים מנצלים אותן בשטח, עם מועד תיקון לגופים פדרליים ב-22 ביולי 2025.

בין המקורות של הרשומה מופיעה כתבה של Wired על האירוע. הרשומה ב-NVD פורסמה ב-28 במאי 2025.

מה עושים?

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

לכל השאר, זאת הזדמנות לבדיקה קצרה אצלכם. אם אתם מריצים יישום מבוסס Spring Boot, בדקו לאיזו רשת חשופות כתובות הניהול שלו. הדרך הפשוטה היא לנסות לגשת מהרשת הרגילה לנתיב actuator של השירות ולראות מה חוזר.

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

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