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

CVE-2026-9198: Langflow הנפיקה אסימוני משתמש-על לכל דורש, ואז ביצעה את מה שהם שלחו

מחבר

Rowan Sterling

תאריך פרסום

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

הבולטין של IBM עבור CVE-2026-9198 מתאר השתלטות בשתי בקשות על Langflow OSS: קריאה לנקודת הקצה auto-login של הפלטפורמה מחזירה אסימון bearer של משתמש-על לכל מי שמבקש אותו, וקריאה שנייה שולחת Python לנקודת הקצה code-validation, שמריצה אותו. הספק רושם את שני חצאי השרשרת תחת מזהים נפרדים — CVE-2026-9103 עבור האימות החסר, CVE-2026-8481 עבור ההרצה — ומדרג את השילוב 9.8 ב-CVSS 3.1, נגיש דרך הרשת ללא הרשאות וללא אינטראקציה של משתמש. פריסות ברירת מחדל בגרסאות 1.0.0 עד 1.10.0 מושפעות; התיקון הוא 1.10.1, ו-IBM אינה מפרטת מעקף. הסוכנות לאבטחת סייבר ותשתיות מידע של ארה"ב הוסיפה את ה-CVE לקטלוג Known Exploited Vulnerabilities ב-4 באוגוסט 2026, עם מועד יעד פדרלי לתיקון ב-7 באוגוסט. הרשומה, תגי החומרה והנזק שלה, והרשומות שהוגשו סביבה נשמרים בOrca AI Incident Archive, שמפרט את התקרית הזו לצד שאר הסדרה.

השרשרת, בשלושה בולטינים של IBM

IBM מפרסמת את הפגם הזה בשלושה מסמכים ולא במסמך אחד, וקריאתם יחד היא מה שהופך את המנגנון לקריא. השרשרת כולה היא CVE-2026-9198, בעיית הזרקת קוד תחת CWE-94, עם ציון 9.8 ווקטור AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — נגישה ברשת, מורכבות נמוכה, ללא הרשאות, ללא אינטראקציית משתמש, והשפעה גבוהה על סודיות, שלמות וזמינות. המחצית הראשונה שלה, CVE-2026-9103, היא היעדר אימות לפונקציה קריטית תחת CWE-306, גם 9.8. המחצית השנייה שלה, CVE-2026-8481, היא שוב CWE-94 אך עם ציון 9.9: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, הרשאות נמוכות ולא ללא הרשאות, וההיקף השתנה.

A dark HTML card titled 'Three identifiers, one chain', kicker 'IBM Langflow OSS, 1.0.0 to 1.10.0', subtitle 'Bulletin identifiers, CWEs and CVSS 3.1 base scores, taken from the three IBM support pages cited in the article'. Three rows, each naming a CVE at left: CVE-2026-9103, missing authentication in the auto-login endpoint, CWE-306, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that it issues a SUPERUSER bearer token valid for 365 days when AUTO_LOGIN is enabled, which is the default. CVE-2026-8481, remote code execution in the code-validation endpoint, CWE-94, scoring 9.9 with the metrics PR:L, UI:N, S:C, and a note that it passes submitted Python to exec and is scored with low privileges because the endpoint expects a session. CVE-2026-9198, the chain of the two filed as one vulnerability, CWE-94, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that the no-privileges metric comes from the first half and the execution from the second. Two rules below read 'The execution half alone required a session. The missing authentication supplied one.' and 'Neither half is scored 9.8 with no privileges. Only the chain is.' A footer credits IBM as the CVSS source for all three and says the card was rendered by OrcaRouter with no vendor logos. The OrcaRouter logo is composited in the bottom-right corner.

ה-9.9 הוא החלק הישר בחשבון. נקודת הקצה לאימות קוד מעולם לא הייתה פתוחה לזרים כשלעצמה — IBM מתארת אותה כפגם שאפשר "לכל משתמש מאומת להריץ פקודות מערכת שרירותיות עם מלוא ההרשאות של תהליך השרת של Langflow". מה שהופך את השרשרת ללא מאומתת הוא החצי הראשון: נקודת הקצה של התחברות אוטומטית, שלפי תיאור של IBM "מנפיקה אסימוני Bearer של משתמש-על ארוכי-חיים בלי לדרוש אימות כאשר תצורת AUTO_LOGIN מופעלת (מופעלת כברירת מחדל)". ההודעה מוסיפה שלאסימונים יש אורך חיים של 365 ימים, ומתעדת נתיב חשיפה שני שזוכה לפחות תשומת לב — ברירות מחדל מתירניות של שיתוף משאבים בין מקורות (CORS) המאפשרות מקורות כלליים עם אישורים, שלדברי IBM "עלולות לאפשר גניבת אסימונים בחטף מאתרים שרירותיים".

חלק הביצוע הוא זה שראוי להתעכב עליו. הסיכום של IBM אומר שהמאמת "קימפל והריץ קוד שהוגש על ידי משתמש, כולל הערכות בזמן הגדרת פונקציה כגון ארגומנטים עם ברירת מחדל ודקורטורים", ושכתוצאה מכך תוקף יכול היה להבריח ביטוי בר-הרצה אל תוך פרמטר עם ברירת מחדל או דקורטור. אין זה מטאפורה לגבי קוד לא בטוח: דקורטור מוערך כאשר def העוטף נבנה, כך שבקשה שמטרתה המוצהרת היחידה היא לבדוק את התחביר של פונקציה עדיין מריצה את מה שמצורף אליה. הייעוץ המשורשר של IBM עצמה אומר זאת בפסוקית אחת — אימות והרצה היו אותה פעולה. התיקון שתועד בהודעת CVE-2026-8481 היה "הסרת הרצת קוד מנתיב האימות וביצוע בדיקות קומפילציה בלבד".

A dark HTML card titled 'Two requests, two endpoints', kicker 'CVE-2026-9198, exploit chain', subtitle 'Paths as written in IBM bulletin 7278927; the chain needs no credentials, no user action and no reconnaissance'. Two panels joined by a cyan arrow. REQUEST 1 shows a POST to /api/v1/auto_login with the note that no credentials are supplied and none required and that the response carries a SUPERUSER bearer token with a 365-day lifetime, plus a smaller note that the CVE-2026-9103 bulletin writes this path as /api/v1/login/auto_login. REQUEST 2 shows a POST to /api/v1/validate/code with the token and a Python payload, calling exec with the privileges of the Langflow service process, and a note that the CVE-2026-8481 score is 9.9 with S:C and PR:L. A four-part strip below reads NO PRIVILEGES, vector PR:N; NO USER ACTION, vector UI:N; NO RECON NEEDED, only confirm it runs Langflow; and TWO HTTP CALLS, the whole chain. A closing panel headed 'Why validation was execution' quotes IBM's chained bulletin on default arguments and decorators evaluated at function-definition time, and states that a request whose stated job is to check syntax ran the attached code. A footer credits IBM bulletins 7278927 and 7278923 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

יש פער קטן אחד שראוי לתעד משום שהוא משפיע על הציד. הבולטין המקושר כותב את נקודת הקצה של האסימון כ-/api/v1/auto_login, וכך גם Cloud Security Alliance ו-Field Effect; הבולטין הנפרד של IBM עבור CVE-2026-9103 כותב אותה כ-/api/v1/login/auto_login. שני המסמכים של IBM מתארים את אותה נקודת קצה, ואף אחד מהם אינו טועה לגבי ההתנהגות. נתיב הביצוע כתוב באופן זהה בכל מקום: POST /api/v1/validate/code.

מאיפה מגיעים התאריכים

הארכיון מתארך את הרשומה הזו ל-6 באוגוסט 2026. הרשומה בקטלוג של CISA, כפי שנקראה ב-30 באוקטובר 2026, מתעדת את ההוספה כ-4 באוגוסט 2026 וקובעת את המועד האחרון לתיקון ב-7 באוגוסט. הסיקור הסובב נמצא לפני ואחרי תאריך הארכיון ולא בתאריך עצמו: Field Effect פרסמה ב-5 באוגוסט, ו-cvetodo וצוות התגובה לחירום מחשבים הלאומי של תאילנד פרסמו שניהם ב-7 באוגוסט. רישום, המועד האחרון שהוא מפיק והמאמרים שנכתבו עליו הם שלושה אירועים שונים, ולכן התאריכים האלה אינם סותרים זה את זה — אבל הפער של יומיים בין השדה של הארכיון לזה של CISA הוא הסיבה לקרוא את הקטלוג כשהתאריך המדויק חשוב.

קשה יותר לקבוע במדויק את מועד החשיפה, והמקורות חולקים זה על זה באופן ממשי. עמוד הבולטין של IBM עבור ה-CVE המשורשר נושא תאריך פרסום ראשוני של 2 ביולי 2026ותאריך עדכון של 17 באוגוסט 2026. Field Effect מתארכת את החשיפה של IBM ל-2 ביולי. הערת המחקר של Cloud Security Alliance מ-18 באוגוסט קובעת את החשיפה, ואת הוצאת הגרסה 1.10.1 לצדה, ב-17 ביולי; cvetodo אומר את אותו הדבר. חמישה עשר יום מפרידים בין שתי הקריאות, ואף אחד מהמסמכים אינו רשלני, ולכן מאמר זה אינו בוחר ביניהן. מה שמוסכם בכל מקרה הוא שהתיקון פורסם לפני הרישום ב-KEV, ושה-1.10.1 היא הגרסה שנשאה אותו.

A dark HTML card titled 'What happened, and when it was written down', kicker 'CVE-2026-9198, five dates', subtitle 'Read from the IBM bulletin metadata and the CISA KEV catalog entry on 30 October 2026, with the source disagreement labelled rather than resolved'. Five rows: 2 July 2026, 'IBM bulletin published', the initial publication date on IBM support page 7278927, with Field Effect giving the same day as the disclosure date; 17 July 2026, 'The other reading of disclosure', highlighted in amber, the date the Cloud Security Alliance and cvetodo give for disclosure and the 1.10.1 release, fifteen days apart from 2 July; 4 August 2026, 'Added to CISA KEV catalog', the date the catalog entry records, with known ransomware use recorded as Unknown and forensic triage required under BOD 26-04; 7 August 2026, 'Federal remediation deadline', also the publication date of the ThaiCERT advisory and of cvetodo's coverage; and 6 August 2026, 'The archive's date for this record', two days after the catalog date and between the 5 August and 7 August coverage. Two rules below read 'Still unresolved in sources: disclosure on 2 July (IBM, Field Effect) or 17 July (Cloud Security Alliance, cvetodo). No tie-break found.' and 'Not in dispute: the patch preceded the KEV listing, and 1.10.1 is the release that carried it.' A footer notes that the catalog entry was read on 30 October 2026 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

מה שנאמר בערך של CISA, באופן מדויק, בשדות שלו עצמו, צר יותר מהכותרת שלו. המוצר רשום תחת הספק IBM עם המוצר Langflow; הפגם מתואר ככזה ש"מאפשר לתוקפים בלתי מאומתים להשיג הרצת קוד מרחוק מלאה בפריסות Langflow ברירת מחדל"; שימוש ידוע בקמפיינים של כופר נזק רשום כלא ידוע; טריאז' פורנזי מסומן כנדרש לפי BOD 26-04; והפעולה הנדרשת היא להחיל הקלות בהתאם להוראות הספק, או להפסיק את השימוש במוצר כאשר ההקלות אינן זמינות.

רשומת הניצול

הרשימה של CISA קובעת שהפגיעות שימשה בפועל בשטח. הראיות הציבוריות העומדות מאחורי קביעה זו דקות יותר ממה שמשתמע מ-9.8. לא IBM ולא CISA נקבו בשמו של שחקן איום או פרסמו פרטים על קמפיין שנצפה — Field Effect מציינת זאת במפורש, ושום דבר בשלושת הבולטינים של IBM או ברשומת ה-KEV אינו סותר זאת.

מה שקיים במקום זאת הוא טלמטריית ספק המועברת מכלי שני. ההערה של Cloud Security Alliance מציינת את KEVIntel כמקור לטענה שניסיונות ניצול נרשמו החל מ"בסביבות 6 ביולי 2026", שבועות לפני החשיפה לפי חישוב הברית עצמה, ושעד אמצע אוגוסט הניסיונות המצטברים גדלו לכדי מאות, שמקורם במאות כתובות אינטרנט ייחודיות הפזורות בעשרות מדינות. נתונים אלה מגיעים מחברת ניטור אחת ואינם מופיעים בשום מקור אחר שנבדק עבור מאמר זה. הם מדווחים כאן, ולא מאומתים.

תאריך ההתחלה ראוי לבחינה נוספת. אם הניסיונות אכן החלו בסביבות 6 ביולי, הרי שזה ארבעה ימים לאחר תאריך הבולטין המופיע בעמוד של IBM, ואחד עשר ימים לפני תאריך 17 ביולי ששני מקורות אחרים נותנים. לפיכך הטלמטריה אינה מאשרת ואינה מפריכה אף אחד משני תאריכי הגילוי; Cloud Security Alliance מציעה את שני ההסברים מבלי לבחור ביניהם, ומתארת את הפעילות המוקדמת כגילוי עצמאי בידי סורקים אופורטוניסטיים או כהדלפה של פרט טכני לפני גילוי מתואם.

קוד הניצול הציבורי הוא החלק המתועד יותר. Field Effect מייחסת את התיאור הציבורי של השרשרת ל"הוכחת היתכנות ציבורית שפורסמה ביולי 2026" במאגר github.com/0xdak/CVE-2026-9198_exploit, וטוענת שהקוד מדגים השגת אסימון משתמש-על דרך נקודת הקצה של ההתחברות האוטומטית, ולאחר מכן שימוש בו כנגד נקודת הקצה של האימות. Field Effect אינה מקשרת את מחבר אותו מאגר לכל ניצול שנצפה, וכך גם מאמר זה. כמו כן, אף מקור שנסקר אינו מדווח על גניבת אישורי גישה מאומתת ממארח שנוצל: תיאור איסוף אישורי הגישה הנלווה לפגיעויות Langflow באופן כללי הוא הערכה בדבר מה שמארח כזה מחזיק, הנדון בהמשך, ולא ממצא לגבי קורבן מזוהה כלשהו ברשומה זו.

מבוסס, מדווח, ולא מבוסס

• מבוסס. ש-CVE-2026-9198 משרשר אימות חסר בנקודת הקצה להתחברות אוטומטית עם ביצוע קוד בנקודת הקצה לאימות קוד; ש-IBM מדרגת את השרשרת ב-9.8 תחת CWE-94 ואת שני חצאיה ב-9.8 ו-9.9; שפריסות ברירת המחדל של Langflow OSS 1.0.0 עד 1.10.0 מושפעות ב-Windows, macOS ו-Linux; ש-1.10.1 הוא התיקון ו-IBM אינה מפרסמת פתרון עוקף; וש-CISA הוסיפה את ה-CVE לקטלוג KEV עם מועד אחרון פדרלי של 7 באוגוסט 2026. שלושת הבולטינים של IBM הם המסמכים הראשוניים והם תואמים זה לזה בנוגע למנגנון.

• הוצג מחדש באופן עצמאי.ThaiCERT שחזרה את אותה שרשרת שני-קצוות, את אותו ציון 9.8, את אותו טווח מושפע ואת אותו תיקון 1.10.1 בהודעת הייעוץ שלה מ-7 באוגוסט 2026, והוסיפה בקרת רשת שאינה מופיעה בבולטינים של IBM: להרחיק את ממשק הניהול של Langflow מהאינטרנט הציבורי, ולהגיע אליו רק דרך VPN או רשימת כתובות מורשות קפדנית. זהו אישוש לאופן שבו נקרא הייעוץ, על ידי גוף ממשלתי שאין לו עניין בניסוח של הספק — ולא גילוי עצמאי של הפגם.

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

• לא נקבע. אין קורבן מזוהה בשמו ואין גורם מזוהה בשמו. אין ייחוס למדינה או לארגון פלילי. אין נתון מאומת לגבי מספר מופעי Langflow שהיו נגישים מהאינטרנט — cvetodo דיווח ב-7 באוגוסט ש-IBM לא השיבה לשאלות בדבר היקף הניצול — ומאז אין הצהרת ספק שמכמתת זאת. הארכיון מדרג את הרשומה הזו ברמת ודאות A ואינו מסמן אותה כשנויה במחלוקת, ושום דבר שנבחן כאן אינו חולק עליה; הפערים הם פערים בראיות הציבוריות, לא בטענה שהפגם קיים והיה בשימוש.

• הוחרג במכוון.הייעוץ של ThaiCERT מתאר גם סריקה אוטומטית מונחית AI באותו שבוע, אך מייחס אותה למוצר אחר באותה אצווה של CISA, ולא ל-Langflow. זה אינו מהווה ראיה לגבי רשומה זו ואינו משמש כאן ככזה.

מה השתנה לאחר הרישום למסחר

הפתרון מטעם הספק הוא העלאת גרסה ותו לא. טבלת המוצרים המושפעים של IBM מפרטת את Langflow OSS 1.0.0 עד 1.10.0, מציינת את 1.10.1 בתור התיקון, ומכניסה "None" בשדה דרכי העקיפה — בכל שלושת הבולטינים. הבולטין CVE-2026-8481 מתאר את השינוי: המאמת הפסיק את הביצוע ועבר לקומפילציה. הבולטין CVE-2026-9103, העוסק בחלק של ההתחברות האוטומטית, אינו מפרט את התיקון שלו באותו פירוט, ואף מסמך של IBM שנסקר כאן אינו מתארך את שחרור 1.10.1.

ההנחיות של כל האחרים מרחיקות לכת יותר מאלה של הספק. Cloud Security Alliance ממליצה לשדרג ולאחר מכן לאמת בזמן ריצה שנקודת הקצה להתחברות אוטומטית אינה מנפיקה עוד אסימונים לפונים לא מאומתים, במקום לסמוך על מחרוזת הגרסה — הנימוק שהיא מציינת הוא שטלאי Langflow קודמים נשלחו עם תיקונים חלקיים. היא ממליצה גם להגדיר את הגדרת הסביבה LANGFLOW_AUTO_LOGIN ל-false באופן מפורש, כך שהפלטפורמה תדרוש פרטי גישה אמיתיים במקום לייצר אותם, ולהתייחס לכל מופע שהיה חשוף לאינטרנט מאז תחילת יולי כאל נפגע עד לבדיקת יומנים, עם החלפת פרטי גישה לכל מה שהמופע יכול היה להגיע אליו: מפתחות ספק המודלים, פרטי גישה למסד נתונים ומפתחות שירותי ענן. ThaiCERT מוסיפה את הצד הרשתי — אין ממשק ניהולי באינטרנט הציבורי, אלא רק VPN או רשימת מורשים. שתי אלה הן המלצות החוקרים. IBM אינה מפרסמת אף אחת.

שורת קרדיט אחת רשומה בתיעוד. ההכרה של IBM מייחסת את הדיווח להאריש קולה (Harish Kolla), ששם המשתמש שלו ב-GitHub הוא Har1sh-k. ה-Cloud Security Alliance, בהערתה מיום 18 באוגוסט, ממקמת את CVE-2026-9198 כפגם הרביעי הנפרד ב-Langflow מסוג עקיפת אימות או עקיפת הרשאות שהגיע לקטלוג של CISA בכחמישה חודשים, ומציינת את שלושת המזהים הקודמים; פרשנותה היא שהדפוס משקף תיקון חלקי חוזר ונשנה של מודל אימות וביצוע קוד אחד, ולא פגמים בלתי קשורים. מסגור זה הוא הערכתה של הברית, המוצעת בהערת מחקר; אין מדובר בממצא של מבקר בלתי תלוי, ואין מקור שנסקר כאן המתעד תגובה פומבית של המתחזקים לכך.

מה רשימת KEV קובעת ומה היא אינה קובעת

הקטלוג של CISA הוא הצהרה בדבר ניצול שנצפה, ולא דוח תקרית, והערך הזה נאמן לצורה הזו. הוא אומר שהפגיעוּת נוצלה; הוא אינו אומר נגד מי, בידי מי, או באיזו תדירות. שימוש בתוכנות כופר נרשם כ"לא ידוע". שום דבר אינו מכומת. מה שהרשומה כן מכריעה הוא השאלה היחידה שציון חומרה אינו יכול להכריע: האם הפגיעוּת עברה מהוכחת היתכנות עובדת לשימוש ממשי. עבור ארגונים שמחוץ לתחולת BOD 26-04 — שהם רוב העולם — מועד 7 באוגוסט אינו טומן בחובו שום חובה, והעובדה העומדת מאחוריו נושאת את אותו משקל שהיה לה אילו חובה כזו הייתה קיימת.

Cloud Security Alliance מסיקה מאותה רשומה מסקנה מבצעית: שרישום ב-KEV הוא אות מהימן לכך שהניצול עבר את שלב הוכחת ההיתכנות, ושבמקרה של פגיעות זו הוא הגיע כחודש לאחר הניסיונות המתועדים הראשונים. מי שהמתין לקטלוג לפני מיון היה, לפי קריאה זו, כבר מגיב לאירוע ולא מונע אותו. האם זה מתאר פריסה מסוימת היא שאלה ליומני המערכת שלה — צמד נקודות הקצה שיש לחפש הוא זה שתיעדה IBM, והרשומה אינה נוקבת בקורבן יחיד שאפשר לבחון מולו את התשובה.