זו אינה חולשה שמישהו הכניס לקוד בטעות. לפי הרשומה, הקושחה של שורה ארוכה של דגמי נתבים מתוצרת Zbtlink ו-MoreQuick נשלחת עם רכיב בשם yunmgrd, שפותח מיוזמתו ערוץ תקשורת אל שרת שליטה ובקרה (C2) שכתובתו מקודדת קשיח בתוך הקושחה. הערוץ עובר ב-UDP, בגלוי ובלי אימות, ולכן מי שנמצא על מסלול התקשורת יכול להשתלט עליו ולהריץ פקודות על הנתב בהרשאות root. הציון שנקבע הוא 9.3 מתוך 10.

מה החולשה?

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

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

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

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

מי מושפע?

הרשימה ארוכה ומשתרעת על שני מותגים. אצל Zbtlink: L3_V2_8 בקושחה 3.0.0.4.528, WE826-T2 בקושחה 19.1101, ZBT-7628 בקושחה 1.0.0.2.007 ו-ZBT-ZBT7621 בקושחה 1.0.0.3.001. אצל MoreQuick: הדגמים MQAC-7620, MQAC-7620A, MQAP-7620, MQAP-7620A ו-MQAP-7628, כולם בקושחה 1.0.0.2.000. לצדם מופיעים AP522 בקושחה 1.0.0.2.014, AP7628 ו-HC5661A בקושחה 3.0.0.4.380, APG721B בקושחה 19.0809, HK300 בקושחה 1.0.0.2.032 ו-MAP-N10 בקושחה 1.0.0.2.044.

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

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

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

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

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

מה עושים?

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

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

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