איור טכני מופשט על רקע כחול־נייבי כהה: מתחם מרובע שקוף למחצה המייצג סנדבוקס ניצב על גבי ערימה של פאנלים מעוגלים של שרתים. בתוך המתחם זוהר אשכול קטן של גליפים חיוורים של סוגריים תבניתיים; סוגר אחד חמק דרך סדק דק־כשערה בדופן המתחם וממשיך כקו ענבר דק היורד אל תוך ערימת השרתים, שם הוא מתפצל למספר קווים קצרים דמויי פקודה. מתחם שני לצדו שלם וסגור. לא מופיעים טקסט, אנשים או לוגואים של ארגונים. הלוגו של OrcaRouter משולב בפינה הימנית התחתונה.
AI Safety Incidents

ה-AI Gateway של GitLab איפשר לקונפיגורציית Flow מעוצבת לפרוץ החוצה מארגז החול של הפרומפט שלו.

מחבר

Rowan Sterling

תאריך פרסום

מודלים אחרונים · 20צפו בכל המודלים →
בנצ'מרקים: Artificial Analysis · מתעדכן יומית
חזרה לכל הפוסטים

ב-2 באוקטובר 2026 פרסמה GitLab מהדורת תיקון קריטית עבור ה-AI Gateway שלה — שכבת התווך שמעבירה בקשות בין מופע של GitLab לבין מודלי השפה שתכונות ה-Duo שלה קוראות להם — כשהיא נוקבת בשם CVE-2026-90970ומדרגת אותו 9.9 מתוך 10. לדברי GitLab עצמה, הפגם היה עשוי לאפשר "למשתמש מאומת בעל גישה ל-Duo Agent Platform לחמוק מארגז החול של תבנית הפרומפט באמצעות תצורת זרימה שנבנתה במיוחד, ובכך להוביל לביצוע פקודות שרירותי ב-AI Gateway". רק ארגונים שהפעילו AI Gateway באחסון עצמי נדרשו לפעול: GitLab כבר תיקנה את השערים שהיא מפעילה עבור GitLab.com,‏ GitLab Dedicated ולקוחות בניהול עצמי שמשתמשים בשער שמארחת GitLab, ואמרה זאת בהודעת הייעוץ. בהודעתה של GitLab לא נאמר שהפגם נוצל אי פעם, וההערכה שצורפה לרשומת ה-CVE על ידי הסוכנות האמריקנית לאבטחת סייבר ותשתיות באותו יום מפרטת את הניצול כ"ללא". הקרדיט על הגילוי ניתן לחוקר HackerOne הידוע בשם invisiblemeerkat. הודעת הייעוץ של GitLab, רשומת ה-NVD והדיווחים שבאו בעקבותיה עקביים זה עם זה באשר למה היה הפגם ואילו גרסאות הכילו אותו; הם עקביים באותה מידה גם באשר למה שאינו ידוע, דהיינו האם מישהו השתמש בו אי פעם. רשומה זו יושבת לצד יתר פגיעויות תשתית הסוכנים המתועדות בארכיון תקלות ה-AI, שבו כל ערך נושא את המקורות, החומרה, דירוג הביטחון ודגל המחלוקת שלו.

מה שההודעה למעשה אומרת, ומה שהיא משמיטה

ההתראה קצרה. היא פורסמה באתר התיעוד של GitLab תחת הכותרת "GitLab AI Gateway Critical Patch Release: 19.2.4, 19.3.2, and 19.4.1", ובה מפורט תיקון אבטחה אחד, שכותרתו "Improper Neutralization issue in custom flow prompt template impacts AI Gateway" והוא מסומן כקריטי. היא מציינת את וקטור CVSS 3.1 כ-AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H — נגיש דרך הרשת, מורכבות תקיפה נמוכה, נדרשות הרשאות נמוכות, ללא אינטראקציית משתמש, היקף השתנה, והשפעה גבוהה על סודיות, שלמות וזמינות. כדאי לקרוא את הווקטור הזה משום שהוא מדויק לגבי התוקף: הרשאות נמוכות, אך בכל זאת הרשאות. ההתראה אומרת "משתמש מאומת עם גישה ל-Duo Agent Platform" ומפסיקה שם. היא אינה מפרטת את התפקיד, את ההרשאה או את התנאים שאליהם מתייחס הביטוי שלה עצמה "בתנאים מסוימים".

היא אינה מפרסמת הוכחת היתכנות, אינה מתארת את תצורת הזרימה המהונדסת, ואינה מציעה מעקף עבור שערים שלא ניתן לעדכן באופן מיידי. The Hacker News, בדוח שלו מ-2 באוקטובר, מציין את אותם חסרים ומוסיף אחד בעל חשיבות תפעולית: הודעת האבטחה אינה מספקת דרך לבדוק אם שער הותקף לפני שתוקן. Security Affairs, בדיווח ביום שלמחרת, מתעד את אותם פערים.

רשומת מִספּוּר החולשות הנפוצות (CWE) המצורפת ל-CVE היא CWE-1336, ניטרול לא תקין של אלמנטים מיוחדים המשמשים במנוע תבניות. בהודעת הייעוץ של GitLab המילה Jinja אינה מופיעה כלל. בתיעוד המאגר של ה-AI Gateway עצמו היא כן מופיעה: מסמך רישום הפרומפטים שלו מתאר קובצי תצורת פרומפט ש"תומכים בביטוי Jinja עבור מספר תפקידים כגון משתמש ומערכת", ומתאר מחלקת Prompt ש"משתמשת ב-Jinja כדי לבצע אינטרפולציה של תבניות הפרומפט עם ארגומנטי הקלט". הפער שה-CVE מתאר הוא זה שסוג כזה של מנוע מפורסם בו — טקסט המסופק על ידי המשתמש שמגיע לתבנית שמבוצעת ולא מודפסת.

למה פקודה במארח המסוים הזה שווה 9.9

ה-AI Gateway אינו sidecar. לפי התיעוד של GitLab לפריסה באירוח עצמי, הוא מקבל בקשות מ-GitLab, מרכיב את הפרומפטים ומתקשר עם ה-backend של המודל — שרת vLLM, A​mazon Bedrock, Azure O​penAI או ספק חיצוני — ובפריסה מלאה באירוח עצמי הוא הרכיב ששומר על הפרומפטים והתגובות בתוך הרשת של הארגון עצמו. מדריך ההתקנה של AI Gateway של GitLab גם מורה למנהלים ליצור זוג מפתחות חתימה ולהעביר את שני החלקים לשירות כמשתני סביבה, בשמות AIGW_SELF_SIGNED_JWT__SIGNING_KEY ו-AIGW_SELF_SIGNED_JWT__VALIDATION_KEY (עם מקבילים עבור Duo Workflow). Security Affairs מבהיר את ההשלכה: הרצת פקודות על ה-gateway מכניסה תוקף למארח שמחזיק בחומר חתימת JWT ויושב על הנתיב בין מופע GitLab לתשתית המודלים.

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

התיעוד של מוצר GitLab, בנפרד מהודעת האבטחה, מציין שיצירה או עריכה של flow מותאם אישית דורשת תפקיד Maintainer או Owner בפרויקט המנהל, ושהרצה שלו דורשת Developer ומעלה. הודעת האבטחה אינה מאשרת את המיפוי הזה, ו-The Hacker News מציין שלא ננקב שם תפקיד מעבר ל"גישה ל-Duo Agent Platform". קורא שמעריך את החשיפה שלו צריך להתייחס לתיעוד כמודל ההרשאות של המוצר ולשתיקת הודעת האבטחה כפי שהיא: שתיקה, ולא סתירה.

מבוסס, ולא מבוסס

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

• נקבע: פגיעות בדרגת חומרה קריטית ב-GitLab AI Gateway, שנחשפה ב-2 באוקטובר 2026, CVSS 9.9, CWE-1336, נגישה למשתמש מאומת ב-Duo Agent Platform באמצעות תצורת זרימה מעוצבת, וכתוצאה מכך ביצוע פקודות על מארח השער.

• נקבע: הטווח המושפע — כל גרסאות AI Gateway מ-18.1.6 ועד לפני 19.2.4, מ-19.3 ועד לפני 19.3.2, ומ-19.4 ועד לפני 19.4.1 — והגרסאות המתוקנות, 19.2.4, 19.3.2 ו-19.4.1.

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

• נקבע: קרדיט למדווח, ל-invisiblemeerkat, והיעדר כל הצהרה על ניצול בטבע.

• לא נקבע:האם מישהו ניצל אותה. הערכת CISA SSVC מיום 2 באוקטובר 2026, המופיעה ברשומת NVD, מציינת ניצול כ"ללא", ניתנת לאוטומציה כ"לא" והשפעה טכנית כ"מלאה"; קטלוג CISA Known Exploited Vulnerabilities לא כלל את CVE-2026-90970 במהדורה שלו מ-20 באוקטובר 2026, שאותה בדקתי ישירות. מודל ה-EPSS של FIRST העריך את ההסתברות לניצול ב-30 הימים הבאים ב-0.94 אחוז ב-21 באוקטובר 2026 — נמוכה, ולא אפס.

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

HTML card headed 'CVE-2026-90970 · GitLab AI Gateway', titled 'What the record establishes — and what it does not', subtitled with the sources: the GitLab AI Gateway advisory of 2 October 2026 and the NVD record for CVE-2026-90970, with the archive classification confidence A, not disputed, real harm recorded as false. Two columns run side by side. The left column, headed 'Established' in blue, lists eight items: CVSS 9.9 critical with the vector AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H; CWE-1336, improper neutralisation of special elements used in a template engine; an authenticated user with Duo Agent Platform access escaping the prompt template sandbox through a specially crafted flow configuration; arbitrary command execution on the AI Gateway; affected AI Gateway 18.1.6 before 19.2.4, 19.3 before 19.3.2 and 19.4 before 19.4.1; fixed in 19.2.4, 19.3.2 and 19.4.1, released 2 October 2026; GitLab-hosted gateways already patched; and credit to the HackerOne researcher invisiblemeerkat through coordinated disclosure. The right column, headed 'Not established' in amber, lists eight items: no exploitation reported, since the advisory does not say the flaw was used in attacks; CISA's SSVC assessment of 'none', dated 2 October 2026 in the NVD entry, with automatable 'no' and technical impact 'total'; no proof of concept and no technical detail of the crafted flow configuration; no exposure count, since nothing in the cited sources says how many self-hosted gateways exist or ran an affected version; no detection method; no workaround; no named role beyond 'Duo Agent Platform access'; and no fix below 19.2.4. A footer reads 'Facts as published by GitLab and NVD. Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

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

חשבון הגרסאות פחות מסודר ממה ששלוש מהדורות התיקון מרמזות. הטווח המושפע מתחיל ב-18.1.6, ושום מהדורה מתוקנת לא פורסמה באף קו גרסאות מתחת ל-19.2.4. לכן כל Gateway מ-18.1.6 ועד סדרת 19.1 נמצא בתוך טווח המושפע המוצהר, בלי שנקוב בגרסה מתוקנת עבורו. The Hacker News מצביע על אותה תוצאה ועל השאלות הנלוות: תיעוד ההתקנה של GitLab מורה למנהלים להריץ את תמונת ה-Gateway שגרסתה תואמת לגרסת המשנה של GitLab שלהם, וההודעה אינה אומרת אם Gateway בגרסה 19.2.4 עובד מול GitLab 19.1 או גרסה קודמת, ולא אם מתוכננות תיקונים לקווי הגרסאות הישנים יותר. מדיניות הגרסאות הנתמכות של GitLab, כפי ש-The Hacker News מציין, מפרטת כעת 19.4, 19.3 ו-19.2 — אותם שלושה קווים שקיבלו תיקונים.

התיקון הוא החלפת מכולה ולא טלאי: ה-gateway מגיע כדימוי Docker נפרד או כ-Helm chart. מדריך ההתקנה של GitLab מתאר עצירה והסרה של המכולה הפועלת, משיכת הדימוי החדש עם התג self-hosted-vX.Y.Z-ee והפעלתו מחדש כאשר משתני הסביבה נשמרים ללא שינוי; בפריסות Helm מגדירים את התג בשדה image של ה-chart. לא ההודעה ולא מדריך ההתקנה מציעים חתימה או אינדיקטור שיאפשרו להבחין בין gateway שהותקף ל-gateway נקי.

HTML card headed 'GitLab AI Gateway · affected and fixed', titled 'Three fixed releases, and older lines with none', subtitled 'Version ranges as published in the GitLab advisory of 2 October 2026. The advisory does not say whether fixes for the 18.x and 19.1 lines are planned.' Four horizontal bars follow, one per release line. The first, labelled '18.1.6 to 19.1' with the note 'no fixed release listed', is a single hatched amber bar reading 'affected, no patched version named' across the full width. The second, labelled '19.2 line' with the note 'affected before 19.2.4', is a short amber segment reading '18.1.6 – 19.2.3' followed by a blue segment reading 'fixed in 19.2.4'. The third, labelled '19.3 line' with the note 'affected before 19.3.2', is an amber segment reading '19.3.0 – 19.3.1' followed by a blue segment reading 'fixed in 19.3.2'. The fourth, labelled '19.4 line' with the note 'affected before 19.4.1', is an amber segment reading '19.4.0' followed by a blue segment reading 'fixed in 19.4.1'. A legend below reads 'Affected range' and 'Patched release', with the note 'GitLab-hosted AI Gateways were patched before publication.' A footer reads 'Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

אותו סוג באג, שמונה חודשים קודם

זו אינה הפעם הראשונה ש-GitLab משחררת ציון 9.9 עבור הזרקת תבניות ב-AI Gateway. ב-6 בפברואר 2026 היא שחררה את AI Gateway 18.6.2, 18.7.1 ו-18.8.1 עבור CVE-2026-1868, המתואר באותו פרסום כ"בעיית הרחבת תבניות לא מאובטחת", שבה רכיב Duo Workflow Service היה "פגיע להרחבת תבניות לא מאובטחת של נתונים שסופקו על ידי המשתמש באמצעות הגדרות Duo Agent Platform Flow מעוצבות במיוחד", וניתנת לניצול לצורך מניעת שירות או הרצת קוד בשער. וקטור ה-CVSS זהה לזה של אוקטובר, תו אחר תו, וכך גם ה-CWE. המדווח היה אחר: אותו מקרה נמצא באופן פנימי, על ידי חבר צוות GitLab Joern Schneeweisz.

ההתראה מאוקטובר אינה מזכירה את זו מפברואר,והאתר The Hacker News אומר זאת במפורש. אם לשתיים יש סיבת שורש משותפת, תיקון שלא החזיק מעמד, או רק שפה ומודל איומים — אין לכך תשובה באף אחד מהמסמכים הפומביים. מה שכן מתועד הוא שמנוע תבניות ברכיב תווך של בינה מלאכותית הפיק כעת שתי התראות קריטיות לביצוע פקודות באותו ציון באותה שנה, ושהשנייה חייבה חוקר חיצוני כדי למצוא אותה.

מה השתנה, ומה נותר למפעילים להחליט

השינוי הקונקרטי הוא שלושה תגי אימג' וסבב פנייה ישירה. GitLab אומרת שיצרה קשר עם לקוחות gateway באחסון עצמי לפני הפרסום, והודעת הייעוץ פורסמה לצד האימג'ים המתוקנים באותו יום. עבור כל האחרים — GitLab.com, ‏GitLab Dedicated, ומופעים בניהול עצמי שמצביעים אל gateway המתארח ב-GitLab — התיקון כבר הוחל בצד השרת, ולפי GitLab, לא נדרש דבר.

עבור מפעיל בפריסה עצמית, ההחלטה צרה יותר ופחות נוחה ממחזור טלאים רגיל. אין מעקף לשער שאינו ניתן להעברה מיידית. אין שיטה שפורסמה לקבוע אם המארח נפרץ קודם לכן, מה שאומר שהאפשרות הרטרוספקטיבית היחידה היא הרגילה: להתייחס לקונטיינר כאל מערכת ששלמותה אינה מוכחת, ולחפש סימנים של הרצה החורגת מהתנהגותו הרגילה. ולגבי שערים בגרסה 18.x או 19.1, הייעוץ אינו מציין גרסת יעד כלל — השמטה ש-The Hacker News מדווח עליה והודעתה של GitLab אינה מתייחסת אליה.

הסיווג של הארכיון עצמו צר בכוונה מזה של הספק. הוא רושם ערך זה כפגיעות, ברמת ביטחון A, כשהמקורות תמימי דעים, ללא מחלוקת, ללא נזק ממשי שנרשם, ועם שדה חומרה "גבוהה" לעומת "קריטית" אצל GitLab ו-NVD. אלו תשובות לשאלות שונות: הציון מתאר מה הפגם יאפשר, והדירוג של הארכיון מתאר מה ידוע שקרה. ברשומה הציבורית, דבר לא קרה — אין ניצול, אין קורבנות, אין דוח תקרית. הערך של הרשומה הוא שהיא מתעדת, עם מספר CVE וגרסה מתוקנת, בדיוק כיצד תבנית פרומפט הפכה לשורת פקודה בתווכה שתכונות AI ארגוניות תלויות בה.

Abstract illustration on a dark navy field: two rounded server racks stand on a plain surface. In front of them, a translucent panel etched with faint brace-shaped lines has a single hairline fracture running from its lower corner to the floor, and through that fracture a thin amber thread passes to a small glowing node at the base of the nearer rack. The second rack is untouched and unlit. No text, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.