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

מה החולשה?

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

ומערכת הפעלה אינה מבחינה בין מחרוזת שמישהו התכוון שתהיה שם של תיקייה לבין מחרוזת שמכילה תווים שסוגרים פקודה ופותחים אחרת. כשהפרמטר אינו מנוקה מהתווים האלה, מה שנכתב בו רץ. הרשומה ממקמת את זה בקובץ upgrade_handle.php, בפקודה writeuploaddir, ומסמנת את הסיווג CWE-78.

הדירוג אומר את השאר: 9.8 מתוך 10, בלי צורך בפרטי אימות, בלי צורך בהרשאה ובלי שאף אחד בצד השני יעשה דבר. בקשה אחת מהרשת, והקוד של התוקף רץ על ההתקן.

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

מי מושפע?

הרשומה מונה את NVRmini בקושחה מ-2016, ואינה מציינת גרסה מתוקנת.

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

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

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

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

הרשומה פורסמה ב-2018, ושני קודי ניצול מוכנים מתפרסמים ב-Exploit-DB, אחד משנת 2018 ואחד משנת 2019. ציון 9.8 בלי דרישת הזדהות, קוד ניצול פומבי ואין גרסה מתקנת ברשומה: זה הצירוף שסריקות אוטומטיות חיות ממנו.

מה עושים?

1. הניחו שאין עדכון שיפתור את זה בשבילכם. הרשומה אינה מצביעה על גרסה מתוקנת, ולכן המתנה לעדכון אינה צעד ראשון. אם יש לכם ערוץ אל מי שהתקין את המערכת, שאלו אותו מהי הגרסה ומה היצרן מציע עליה היום.
2. הורידו את ההתקן מהאינטרנט לחלוטין. זו הפעולה שמשנה את התמונה: בלי נתיב מהרשת אל הרכיב שמטפל בשדרוג, בקשת הניצול אינה מגיעה אליו. בטלו העברת פורטים בנתב, ואם ההתקן פתח לעצמו גישה דרך UPnP, כבו את זה בנתב.
3. בודדו אותו גם בתוך הרשת הפנימית. מקלט הקלטה אינו צריך לדבר עם מחשבי העבודה, ואינו צריך לפנות לאינטרנט מעצמו. רשת נפרדת למצלמות ולמקלט מצמצמת את מה שתוקף יכול לעשות אם הגיע אליהם.
4. תכננו החלפה. קושחה מ-2016 בהתקן שחשוף להרצת קוד בציון 9.8, בלי גרסה מתקנת ברשומה, היא חומרה שהגיעה לסוף חייה מבחינת אבטחה גם אם היא מקליטה מצוין. השאלה כאן אינה אם להחליף אלא מתי.