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

מה החולשה?

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

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

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

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

מי מושפע?

כל גרסה של Wing FTP Server שקודמת ל-7.4.4. התיקון נכנס בגרסה הזאת, ומעליה ההתקנה מחוץ לטווח.

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

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

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

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

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

מה עושים?

עדכנו ל-Wing FTP Server 7.4.4 או לגרסה חדשה יותר. זה המספר היחיד שהרשומה נוקבת בו, וכל מה שמתחתיו בטווח.

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

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

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