Expedition הוא כלי של Palo Alto Networks, ובמסד הנתונים שלו יושבות הגדרות של מכשירים ולצידן שמות משתמש, תמציות סיסמאות ומפתחות API. החולשה אפשרה לתוקף בלי חשבון ובלי הזדהות לקרוא את התוכן הזה. הציון הוא 9.2 מתוך 10, והיא ברשימת החולשות שמנוצלות בפועל מאז נובמבר 2024.

מה החולשה?

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

זה מה שקרה כאן. תוקף ששלח קלט בנוי במיוחד גרם ל-Expedition להריץ מול מסד הנתונים שאילתה משלו במקום זו שנכתבה. לטכניקה הזאת קוראים SQL Injection, והיא ותיקה ומוכרת. מה שהופך דווקא את המקרה הזה לחמור הוא שני דברים אחרים.

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

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

מעבר לקריאה מהמסד, התיאור מוסיף שהתוקף יכול גם ליצור ולקרוא קבצים על מערכת Expedition עצמה.

מי מושפע?

Expedition בכל גרסה מ-1.2.0 ואילך, עד לגרסה שלפני 1.2.96.

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

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

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

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

מה עושים?

עדכנו את Expedition לגרסה 1.2.96 או חדשה ממנה. זאת הגרסה שבה החולשה נסגרת, לפי הודעת האבטחה של Palo Alto.

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

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