חבילת הקוד שיצרן השבב Realtek מספק ליצרני נתבים ונקודות גישה כוללת כלי אבחון בשם MP Daemon. בדרך כלל הוא נכלל במכשיר המוכן כקובץ הרצה בשם UDPServer, והוא מקשיב לבקשות מהרשת. תוקף שאינו מזוהה ושפונה אליו יכול להריץ עליו פקודות משלו, החולשה קיבלה על כך 9.8 מתוך 10, והיא נמצאת בקטלוג החולשות המנוצלות בפועל של CISA מאז דצמבר 2021.

מה החולשה?

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

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

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

מי מושפע?

כאן נמצא החלק הלא נוח. הרשומה אינה מונה דגמים אלא גרסאות של חבילת הקוד: Realtek Jungle SDK מגרסה 2.0 ועד 3.4.14B. מספר הגרסה של החבילה אינו מופיע בשום מקום שמשתמש יכול לראות, לא במדבקה שבתחתית הנתב ולא בממשק הניהול, ולכן אי אפשר להצליב אותו כמו שמצליבים דגם וקושחה.

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

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

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

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

מה עושים?

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

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

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