ב-10 בספטמבר 2026 פורסמו חמישה מזהי CVE ל-Traefik, ה-reverse proxy שמשמש כ-ingress controller בקוברנטיס. הגבוה ביניהם הוא 9.1, אבל מה שמעניין כאן הוא לא ציון בודד: כל החמישה הם וריאציות על אותה טעות. Traefik מחליט משהו על הבקשה, והשרת שמאחוריו קורא אותה אחרת.

סקירה כללית

reverse proxy מקבל בקשה מהאינטרנט ומעביר אותה לשירות הפנימי, ובדרך גם עושה עבודת אבטחה: ה-middleware שנקרא ForwardAuth שולח כל בקשה לשירות הזדהות, ואם התשובה חיובית הוא כותב את זהות המשתמש לתוך header. השרת שמאחור סומך על ה-header הזה.

הבעיה מתחילה בשאלה קטנה: מתי שני שמות של header-ים הם אותו שם. Traefik מנרמל רק מקפים, ולכן X-Auth-User, X_Auth_User ו-X.Auth.User הם עבורו שלושה header-ים שונים, בעוד שרתי CGI, WSGI, PHP ו-NGINX, שגוזרים שמות משתנים משמות header-ים, מכווצים את שלושתם לאחד. לפער בין שני המפרסרים קוראים Authentication Bypass by Spoofing, ו-NVD מסמנת אותו CWE-290.

מזהה: CVE-2026-88879
סוג: Authentication Bypass by Spoofing (CWE-290)
מוצר: Traefik (reverse proxy ו-load balancer)
גרסאות מושפעות: v1.x, v2.x עד 2.11.55, ו-3.0.0 עד 3.7.11
גרסה מתוקנת: 2.11.56 ו-3.7.12, אבל רק אחרי הגדרה ידנית
ניצול בפועל: לא, אף אחת מהחמש אינה ברשימת ה-KEV של CISA

ציר זמן

בגל קודם: Traefik חוסם את הצורה עם הקו התחתון, X_Auth_User, ומשאיר את זו עם הנקודות פתוחה.
10 בספטמבר 2026: חמישה מזהים מתפרסמים ב-NVD בתוך שעתיים. התיקונים יצאו ב-2.11.56 ו-3.7.12, ואחריהן ב-2.11.57 ו-3.7.13.
14 ו-15 בספטמבר 2026: NVD מסיימת לנתח את כולן, ובשלוש מהן נותנת ציון גבוה מזה של הגוף שפרסם אותן.

איך הניצול עובד

התוקף עובר את ForwardAuth בזהות חוקית וחלשה, נניח משתמש מן המניין, ו-Traefik כותב X-Authenticated-User עם שמו האמיתי. אלא שבבקשה המקורית הוא הוסיף גם X.Authenticated.User עם שם אחר, וה-middleware לא נגע בו: מבחינתו זה header אחר. השרת שמאחור ממיר את שני השמות לאותו משתנה. בתצורה שנבדקה, PHP 8.2 מול נתיב HTTP/1, סדר ה-header-ים שגו מייצרת קובע שדווקא ערך התוקף מנצח, ובאופן עקבי.

שאר החולשות מחליפות את הפרט הטכני ולא את הרעיון. ב-CVE-2026-88008 התוקף מבקש שדרוג ל-h2c, השרת מאחור עונה 101, ומאותו רגע Traefik הופך למנהרה שקופה שלא מחילה יותר אימות, הגבלת קצב או רישום ללוג. ב-CVE-2026-88009 נתיב שנשמר ב-URL.Opaque גורם ל-Traefik לבדוק הרשאות מול / ולהעביר לשרת את הנתיב האמיתי.

ניתוח ציון ה-CVSS

ציון CVSS: 8.2

NVD מניחה את המקרה הרע: תוקף מהרשת, בלי הרשאות מראש, שמחליף את הזהות שהשרת מאחור מקבל. VulnCheck, שפרסמה את החולשה, נתנה לה 5.3 לפי גרסה 4.0 של התקן, כי לשיטתה הנזק נוחת על מה שמאחורי ה-proxy ולא עליו.

איפה למצוא Proof of Concept (PoC)

אף אחת מהחמש לא מפנה ב-NVD למקור שמסומן כ-Exploit, ולא פורסם PoC. הפירוט הטכני, כולל התצורה שנבדקה והקרדיט לחוקר velgusgus599, נמצא אצל VulnCheck.

מי שמריץ Traefik מול backend של PHP או CGI צריך לדעת ששדרוג לבדו לא סוגר את זה: צריך גם להגדיר את aliasHeadersStrategy ל-delete או reject, כי ברירת המחדל נשארה keep מטעמי תאימות לאחור.