נתבי MikroTik קיבלו עדכון שסוגר חולשה בשירות ה-SSH שלהם: בתנאים מסוימים אפשר היה להגיע אל שורת הפקודה של הנתב בלי להזדהות כלל, ומשם לקרוא את ההגדרות שלו. גרסאות התיקון הן 6.49.21, 7.23.4 ו-7.24.2. הציון הוא 6.9 בסולם CVSS 4.0, נמוך יחסית, והתוצאה המעשית מעניינת יותר מהמספר.

מה החולשה?

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

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

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

הסיווג הוא CWE-841, טיפול לקוי בסדר הפעולות: הקוד נתן לשלב מאוחר לרוץ בלי שהשלב שלפניו הושלם.

מי מושפע?

RouterOS היא מערכת ההפעלה שרצה על נתבי MikroTik. לפי הרשומה התיקון נכנס בגרסה 6.49.21 בענף הוותיק, בגרסה 7.23.4 בענף ארוך הטווח ובגרסה 7.24.2 בענף היציב, כך שכל גרסה נמוכה יותר בענף המתאים חשופה.

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

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

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

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

מה עושים?

1. בדקו את גרסת RouterOS שרצה על המכשיר. המספר מופיע במסך הפתיחה של ממשק הניהול, ובשורת הפקודה מחזירה אותו הפקודה /system resource print.
2. עדכנו לגרסת התיקון של הענף שלכם: 6.49.21 בענף 6, 7.23.4 בענף ארוך הטווח של 7 או 7.24.2 בענף היציב.
3. עד שהעדכון מותקן, סגרו את גישת ה-SSH מהאינטרנט והשאירו אותה פתוחה רק מהרשת הפנימית. הניצול אינו דורש סיסמה, ולכן כל מי שמצליח להגיע אל השירות יכול לנסות.
4. אם הנתב היה חשוף לאינטרנט, הניחו שהתצורה שלו נקראה. החליפו את סיסמאות הניהול ואת המפתחות השמורים עליו, ועברו על רשימת הקבצים במכשיר וחפשו קבצים שאתם לא יצרתם.