LiteLLM הוא שרת proxy שמרכז פניות למודלי שפה ומתרגם אותן לפורמט של OpenAI, והוא יושב בין האפליקציות של הארגון לבין ספקי המודלים. בגרסאות שלפני 1.83.0 הוא לא בדק שמי שפונה אל ה-endpoint של שינוי ההגדרות הוא אכן מנהל. לפי הרשומה, די היה בחשבון מחובר רגיל כדי לשנות את תצורת השרת, לקרוא ממנו קבצים ולהריץ עליו קוד.

מה החולשה?

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

כאן הבדיקה הראשונה התקיימה והשנייה לא. ה-endpoint בנתיב config/update, זה שמשנה את הגדרות ה-proxy ואת משתני הסביבה שלו, לא אכף את תפקיד המנהל, וכל משתמש שכבר התחבר למערכת יכול היה לקרוא לו.

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

שלושתם נובעים מאותה בדיקה חסרה אחת.

מי מושפע?

כל מי שמריץ LiteLLM בגרסה שלפני 1.83.0. הרשומה מסמנת במפורש את טווח הגרסאות הזה, והתיקון נכנס ב-1.83.0.

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

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

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

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

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

מה עושים?

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

מי שמקבל את LiteLLM דרך רד האט צריך את העדכון מהערוץ הזה ולא התקנה ידנית מעל החבילה המנוהלת. מספרי העדכונים הרלוונטיים הם RHSA-2026:13545 ו-RHSA-2026:28960.

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

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