FortiSIEM היא המערכת שאוספת את הלוגים מכל הארגון ומתריעה על מה שחשוד בהם. לפי הרשומה, תוקף יכול להריץ עליה פקודות לא מורשות באמצעות בקשות API בנויות במיוחד, בלי להזדהות קודם. הציון הוא 10 מתוך 10, הציון המלא, והטווח הפגיע נמשך על שישה ענפי גרסאות.
מה החולשה?
כששרת מקבל בקשה ומרכיב ממנה פקודה למערכת ההפעלה שמתחתיו, הוא תופר יחד שני דברים שונים: את מה שהוא התכוון להריץ ואת מה שהגיע בבקשה. אם מה שהגיע מבחוץ אינו מנוטרל, מי ששלח אותו יכול לסיים את הפקודה המקורית ולהוסיף אחריה פקודה משלו. השרת יריץ את שתיהן. לכשל הזה קוראים הזרקת פקודות אל מערכת ההפעלה, OS Command Injection, והסיווג הוא CWE-78.
מה שהרשומה אומרת על הנתיב הוא שהוא עובר בבקשות API, ומה שהיא אינה אומרת זה באיזה endpoint. התיאור שלה קצר ואינו מפרט את המנגנון, והפירוט נמצא בהודעת היצרן.
הציון המלא, 10 מתוך 10, אינו מגיע רק מהרצת הפקודות. הדירוג מסמן שהתקיפה מגיעה מהרשת, בלי הרשאות מוקדמות ובלי שאיש צריך ללחוץ על משהו, ובנוסף שההיקף משתנה: ההשפעה אינה נעצרת ברכיב הפגיע אלא עוברת למשאבים שמחוצה לו. בהקשר של מערכת ניטור זאת לא נקודה תיאורטית, כי FortiSIEM היא בדיוק המערכת שמחזיקה גישה אל שאר הארגון כדי לאסוף ממנו לוגים.
וכאן יש הערה אחת שאי אפשר לא להעיר: המערכת שתפקידה להתריע על חדירה היא עצמה דרך הכניסה, ומי שמשתלט עליה מקבל גם את היומנים שאמורים לתעד אותו.
מי מושפע?
הרשומה מונה את הטווחים במדויק: FortiSIEM מגרסה 6.4.0 עד 6.4.2, מ-6.5.0 עד 6.5.2, מ-6.6.0 עד 6.6.3, מ-6.7.0 עד 6.7.8, מ-7.0.0 עד 7.0.2, וכן 7.1.0 ו-7.1.1. הגבולות העליונים בכל טווח כלולים בו, כלומר גרסה שנמצאת בדיוק על הגבול עדיין פגיעה.
בישראל פורטינט היא ספק תקשורת ואבטחה נפוץ בארגונים, ו-FortiSIEM יושבת אצל מי שבנה לעצמו מרכז ניטור או שמקבל שירות ניטור מספק מנוהל. זה אינו מוצר של משתמשים פרטיים, ומי שאינו מפעיל SIEM אינו בטווח.
מכיוון שלא נדרשות הרשאות, השאלה המעשית אינה מי מורשה לפנות לממשק אלא מי מצליח להגיע אליו ברשת. התקנה שה-API שלה חשוף לאינטרנט נמצאת במצב אחר לגמרי מהתקנה שרק רשת הניהול הפנימית מגיעה אליה.
האם מנוצלת בפועל?
החולשה אינה מופיעה בקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, ולכן אין קביעה רשמית על ניצול בשטח. זה לא אומר שהיא קשה לניצול.
הרשומה מצביעה, לצד הודעת היצרן, גם על מאגר קוד ציבורי שמוקדש לחולשה הזאת, כלומר הדרך לנצל אותה אינה סוד שצריך לגלות מחדש. חולשה בציון 10 בלי צורך בהרשאות, שקוד ההדגמה שלה פומבי, היא מהסוג שסורקים אוטומטיים מחפשים ברקע כל הזמן. הפער בין "לא תועד ניצול" לבין "לא ינוצל" הוא כאן גדול במיוחד.
מה עושים?
1. בדקו את הגרסה המותקנת והשוו לטווחים שלמעלה. אם אתם על אחד מהם, כולל בדיוק על הגבול העליון, ההתקנה בטווח.
2. עדכנו לגרסה שמעל הטווח של הענף שלכם. הגרסה המדויקת לכל ענף מופיעה בהודעת האבטחה FG-IR-23-130 של פורטינט, ושם גם הפירוט שהרשומה בעצמה אינה נותנת.
3. עד שתעדכנו, צמצמו מי יכול להגיע ל-API בכלל: הנתיב שהרשומה מתארת מתחיל בבקשה שמגיעה לממשק, ולכן התקנה שהממשק שלה אינו נגיש מהאינטרנט ומוגבלת לרשת ניהול מצומצמת מעמידה מכשול לפני הנתיב הזה. זאת קריאה של התיאור ולא מעקף רשמי של היצרן.
4. ומכיוון שקוד ההדגמה פומבי מאז פרסום החולשה בפברואר 2024, אל תסתפקו בעדכון: עברו על לוגי הגישה של הממשק ועל משימות מתוזמנות ומשתמשים חדשים בשרת, וחפשו מה שאינכם מזהים.