Traefik הוא reverse proxy, השער שעומד לפני שרתי האפליקציה ומחליט לאן להעביר כל בקשה ומי רשאי להגיע לאן. חולשה בו מאפשרת לשלוח בקשה בפורמט חריג שגורמת לו לקבל את כל ההחלטות שלו על נתיב אחד, ולהעביר לשרת שמאחוריו נתיב אחר לגמרי. הציון הוא 8.8, והתיקון נמצא בגרסאות 2.11.57 ו-3.7.13.
מה החולשה?
כשבקשת HTTP מגיעה אל proxy, השורה הראשונה שלה מכילה את היעד. בדרך כלל זה נתיב שמתחיל בלוכסן, ומתוכו ה-proxy יודע לאיזה שירות להעביר את הבקשה, אם היא צריכה לעבור בדיקת הרשאות, ומה לרשום ביומן.
אלא שיש דרך נוספת לכתוב את היעד, כזאת שאינה מתחילה בלוכסן. לפי תיאור החולשה, שפת Go שומרת יעד כזה בשדה נפרד ומשאירה את שדה הנתיב הרגיל ריק. כל ההחלטות של Traefik, הניתוב, ניקוי הנתיב, בדיקת ההרשאות של forwardAuth, הטיפול בתווים מקודדים והרישום ביומן, מתבצעות אז על נתיב שנראה כמו לוכסן בודד. מה שנשלח הלאה אל השרת שמאחור הוא היעד המקורי, מילה במילה.
כאן נפתח הפער. אם השרת שמאחור מפרסר את היעד הזה כנתיב רגיל, הוא מטפל בבקשה אחת בזמן ש-Traefik בדק בקשה אחרת. לפי הרשומה זה מאפשר שלושה דברים: להגיע לשירות שלא היה אמור לקבל את הבקשה, לעקוף בדיקת הרשאות שמוגדרת על נתיב מסוים, ולחמוק מהרישום ביומן, כי מה שנרשם שם אינו מה שקרה בפועל.
הנקודה השלישית היא זו ששווה לזכור. חולשה שמשאירה את היומן נקי פוגעת גם במי שיבוא אחר כך לבדוק מה קרה.
מי מושפע?
כל התקנה של Traefik בגרסה שקודמת ל-2.11.57 בענף 2, ובגרסאות 3.0.0 עד 3.7.13 בענף 3. שתי הגרסאות האלה הן הראשונות שמתקנות.
Traefik אינו מוצר שמשתמש ביתי פוגש, אבל הוא נפוץ מאוד בסביבות שמריצות קונטיינרים ו-Kubernetes, וזה תיאור שמתאים להרבה חברות טכנולוגיה בישראל. חשוב להבין שההשפעה תלויה גם בשרת שמאחור: החולשה מתממשת כשהשירות שמקבל את הבקשה מפרסר את היעד החריג כנתיב. לכן מה שצריך להעריך כאן אינו רק גרסת Traefik אלא הצמד, ה-proxy והשירות שיושב מאחוריו.
האם מנוצלת בפועל?
אין ידיעה כזאת. החולשה אינה מופיעה בקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, הקטלוג שמרכז חולשות עם ניצול מתועד בשטח, נכון לעדכון האחרון של העמוד. הרשומה פורסמה ב-10 בספטמבר 2026, והתיקון שוחרר יחד איתה.
מה שכן קיים כאן ושווה לקחת בחשבון הוא שהתיקון פומבי לגמרי: הודעת האבטחה, ה-pull request והשינוי בקוד עצמו מקושרים כולם מהרשומה. מי שרוצה להבין איך מנצלים את החולשה יכול פשוט לקרוא את התיקון. זה נכון לכל פרויקט קוד פתוח, וזה מקצר מאוד את הזמן שעומד לרשות מי שדוחה את העדכון.
מה עושים?
עדכנו את Traefik ל-2.11.57 או ל-3.7.13, לפי הענף שאתם מריצים. את הגרסה הנוכחית אפשר לראות בהרצת traefik version, ובהתקנות מבוססות קונטיינר גם בתגית התמונה שמוגדרת אצלכם.
אם העדכון אינו יכול לקרות מיד, אפשר לצמצם את החשיפה בשכבה שלפני Traefik: proxy או WAF שדוחה בקשות שהיעד שלהן אינו מתחיל בלוכסן חוסם את הצורה שהחולשה משתמשת בה. זו הגנה חלקית והיא אינה תחליף לעדכון.
ובמקביל, בדקו את היומנים של השירותים שמאחורי Traefik ולא רק את היומן שלו. בדיוק מפני שהחולשה מאפשרת לחמוק מהרישום של ה-proxy, התמונה המלאה נמצאת דווקא אצל השירות שקיבל את הבקשה בסוף הדרך.