הנתב הביתי D-Link DIR-822A, בגרסת החומרה A_101, חשוף לחולשה בציון 9.3 מתוך 10. היא יושבת ברכיב שמטפל בחלוקת כתובות הרשת בבית, אפשר להגיע אליה דרך הרשת, וקוד הניצול שלה כבר פורסם בפומבי. ברשומה אין גרסה שסוגרת אותה.

מה החולשה?

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

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

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

מי מושפע?

הרשומה מדברת על דגם אחד ועל גרסת חומרה אחת: D-Link DIR-822A בגרסה A_101. היא אינה מונה דגמים אחרים של D-Link ואינה מונה גרסאות תוכנה, כך שהשאלה הראשונה שצריך לענות עליה היא פשוט אם זה הדגם שעומד אצלכם בבית.

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

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

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

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

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

מה עושים?

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

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

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

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