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

מה החולשה?

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

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

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

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

מי מושפע?

הרשומה מונה את NVRmini2 בקושחה עד 3.11.0 ועד בכלל.

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

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

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

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

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

מה עושים?

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