איור מופשט של צינור מודולרי כהה הבנוי מבלוקים זוהרים, כאשר אור בצורת מפתח בורח מבלוק אחד שנפתח ומתפזר אל תוך החושך.
AI Safety Incidents

Langflow CVE-2026-0768: הפרצה ה-12 ב-Langflow שנוצלה בפועל השנה

מחבר

Elias Hawthorne

תאריך פרסום

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

CVE-2026-0768 הוא פגיעות הרצת קוד מרחוק ללא אימות ב-Langflow, מסגרת חזותית בקוד פתוח להרכבת צינורות עיבוד וסוכנים של מודלי שפה גדולים, ותוקפים השתמשו בה בעולם האמיתי עד סוף אוגוסט 2026. הפגיעות נמצאת במאמת הקוד שמאחורי עורך הרכיבים המותאמים אישית של Langflow: נקודת הקצה validate מקבלת פרמטר code ומריצה את קוד ה-Python שהוא מכיל, ללא אימות ובלשון ה-Zero Day Initiative, "בהקשר של root". רשת honeypot Canary של VulnCheck תיעדה יותר מ-50 ניסיונות ניצול בתוך שעות מהזיהויים הראשונים ב-30 באוגוסט 2026, ויותר מ-360 עד יום שני, 1 בספטמבר, כולם נגד חיישנים בממלכה המאוחדת; Caitlin Condon מ-VulnCheck אמרה שתעבורת המקור הגיעה בעיקר מרוסיה. הבקשות לא היו מתקפת כופרה. הן קראו משתני סביבה שהכילו פרטי גישה של משתמש-על של Langflow, מפתחות API של OpenAI ומפתחות גישה וסודיים של AWS, ואז חיפשו ב-/root/.cache/langflow/secret_key, ב-.ssh וב-.bash_history. הערך המלא של הארכיון לאירוע זה, כולל סיווגי החומרה, רמת הביטחון והנזק שלו, נמצא בארכיון התקריות Orca AI, לצד רשומות גניבת פרטי הגישה ותשתיות ה-AI האחרות שמקיפות אותו.

Security Affairs פרסם את הדיווח שלו ב-2 בספטמבר 2026; Ionut Arghire מ-SecurityWeek דיווח על הניצול יום קודם לכן, Bill Toulas מ-BleepingComputer סיקר את הנושא באותו שבוע, ויוזמת בטיחות ה-AI של Cloud Security Alliance פרסמה לאחר מכן, ב-4 בספטמבר, הערת מחקר שמציגה מחדש את המנגנון ומוסיפה המלצות. אף אחד מהדיווחים שנבחנו עבור מאמר זה לא נקב בשם ארגון שנפרץ. הכול מוביל בחזרה לחיישנים של VulnCheck עצמה ולהתראה ש-Zero Day Initiative פרסמה בינואר.

עורך שמבצע את מה שמבקשים ממנו לאמת

נקודת החוזק של Langflow היא שאפשר להרכיב אפליקציית AI על ידי גרירת רכיבים אל קנבס. רכיבים מותאמים אישית הם Python: העורך מאפשר למשתמש להדביק קוד וללחוץ על validate, והשרת בודק אותו. לפי הודעת ZDI ZDI-26-034, הבדיקה הזו מריצה את הקוד. משפט שורש הבעיה בהודעה הוא שורה אחת — "היעדר אימות תקין של מחרוזת שסופקה על ידי משתמש לפני השימוש בה להרצת קוד Python" — והתוצאה היא שבקשת HTTP אחת ללא אימות מריצה Python שרירותי על המארח.

שלושה מאפיינים הופכים את זה לאירוע ולא לדיווח באג. וקטור ה-CVSS הוא AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, עם ציון 9.8: נגיש דרך הרשת, מורכבות נמוכה, ללא הרשאות, ללא אינטראקציית משתמש, ואובדן מוחלט של סודיות, שלמות וזמינות. הקשר ההרצה הוא root, ולכן הפקודות שהתוקף מריץ — אלה שגם קונדון וגם Cloud Security Alliance מתארים — מכוונות אל /root/.cache/langflow/secret_key — הקובץ שבו Langflow משתמש כדי להצפין פרטי התחברות ונתוני סשן מאוחסנים. ונקודת הקצה אינה דורשת פרטי התחברות כלל, כך שהחשיפה היא פונקציה של נגישות בלבד.

היסטוריית החשיפה חשובה לאופן שבו זה התפתח. ציר הזמן של ZDI מתעד שהדוח הגיע לחשבון GitHub של Langflow ב-18 ביולי 2025, בקשה לעדכונים ב-11 בספטמבר 2025, בקשה לתיקון ב-10 באוקטובר 2025, והודעה על כוונה לפרסם כפרצת יום אפס ב-10 בדצמבר 2025. ZDI פרסמה את התראה ב-9 בינואר 2026. החוקרים הנזקפים לזכות הם Peter Girnus, William Gamazo Sanchez ו-Alfredo Oliveira מ-Trend Research. מאגר ההתראות של GitHub מכיל את אותו טקסט כמו GHSA-x5pr-rvjj-j6qm, שפורסם ב-23 בינואר 2026, מסווג כ-CWE-94, ואינו מפרט כלל טווח גרסאות מושפעות. המענה המוצהר של ZDI אינו תיקון: הוא "להגביל את האינטראקציה עם המוצר".

דיווחים פומביים ממקמים את הטווח הפגיע בגרסאות Langflow עד 1.4.2 כולל, הגרסה שמודול Metasploit שנוסף מאוחר יותר נבנה ונבדק מולה. שם מסתיימת הוודאות, והסעיף על תיקונים שלהלן מפרט מדוע.

מה זיהויי 360 כן קובעים ומה הם אינם קובעים

ה-Canaries של VulnCheck הם חיישנים חשופים לאינטרנט שנבנו להיראות כמו הדבר שתוקף סורק אחריו. החברה ראתה ניצול ראשון של CVE-2026-0768 ב-29–30 באוגוסט 2026: יותר מ-50 זיהויים בתוך כמה שעות ביום ראשון, ומספרם עלה על 360 עד יום שני. קונדון, סגן נשיא למחקר איומים ב-VulnCheck, תיאר את הפעילות ב-LinkedIn כ"שילוב של סיור ואיסוף פרטי גישה", והוסיף כי תעבורת המקור הגיעה בעיקר מרוסיה וכי "עד כה פגעה אך ורק ב-Canaries בבריטניה".

רצף הפקודות שהחיישנים לכדו ספציפי דיו כדי לשמש כמדריך פעולה. התוקפים שאלו את הסביבה לגבי LANGFLOW_SUPERUSER, לגבי משתנים שתואמים ל-OPENAI_API, ולגבי מפתחות AWS_ACCESS ו-AWS_SECRET — שלוש משפחות האישורים שסביר ביותר שמארח Langflow יחזיק בהן. הם קראו את מפתח הסוד השמור במטמון בנתיב /root/.cache/langflow/secret_key. הם בדקו אם קיימת גישה ל-.ssh ובחנו את הגודל של .bash_history, ושניהם מעידים אם מפעיל יכול לנוע לרוחב הרשת ולא רק לקרוא סודות. תיאור קהילתי של השרשרת, שמצוטט על ידי Cloud Security Alliance, מוסיף שאותה פעילות חיפשה בעצי קוד מקור ובקבצי .env אחר סודות מוטמעים, שלפה את מה שמצאה, ובדקה אם מארח כבר הושתלה בו דלת אחורית בידי מפעיל קודם לפני שהוסיפה התמדה משלה.

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

פרט אחד סותר את הסיפור הרגיל על חשיפה. לפי VulnCheck, לא היה קיים הוכחת היתכנות ציבורית עבור CVE-2026-0768 כשהחל הניצול. ההתראה הייתה פומבית כמעט שמונה חודשים ותיארה את הפגיעות בדיוק מספק כדי שמישהו יבנה ממנה ניצול. הפרשנות של החברה, כפי שדווח ב-The Hacker News, היא שמדובר היה בגזירה עצמאית ולא בשימוש חוזר בקוד שהודלף.

A timeline card with seven dated events from 18 July 2025 to 8 October 2026, covering ZDI's report, the zero-day advisory, the first honeypot detections and the merged Metasploit module.

שנים עשר פגמים, חמישה עשר אלף ניסיונות — והיכן המספרים האלה מתכופפים

הנתון שמעניק לאירוע הזה את משקלו מגיע מ-VulnCheck, וראוי לצטט אותו בדברי החברה עצמה ולא בפרפרזה. "לפני 2026, הראיות הראו רק פגיעות Langflow אחת שידוע כי נוצלה בשטח," נאמר בה. "בשנת 2026, הדברים השתנו במהירות." SecurityWeek מדווחת כי VulnCheck עוקבת אחר "11 פגיעויות נוספות שכוונו אליהן ודווחו כמנוצלות בשטח" במהלך 2026.

הוסף את אלה ותקבל שתים־עשרה חולשות Langflow מנוצלות, שאחת מהן קדמה לשנה זו. זה לא זהה לשתים־עשרה ב־2026, והמקורות מחליקים בין שתי המסגרות. הכותרת של Forkast מכנה את CVE-2026-0768 „ה־CVE המנוצל ה־12 של Langflow ב־2026”, ואילו גוף אותו מאמר מתאר את התריסר כ„11 חולשות חדשות ואחת שזוהתה לפני תחילת השנה”. כותרת הרשומה עוקבת אחרי הכותרת. בקריאה קפדנית, 2026 אחראית לאחת עשרה מתוך השתים־עשרה, כשהשתים־עשרה — זו הידועה לפני שנה זו — משלימה את היתרה.

לנתון 15,000 יש חוד דומה. SecurityWeek, The Hacker News ו-Forkast מייחסים כולם "למעלה מ-15,000 תקיפות מוצלחות" לשלוש פגיעויות שצוינו בשמן: CVE-2026-0769, CVE-2025-3248 ו-CVE-2026-5027. זהו מספר גדול, אך זהו ספירה על פני שלושה CVE, לא על פני כל הפורטפוליו של Langflow לשנת 2026. ניסוחו כניסיונות ניצול נגד הפורטפוליו — כפי שסיכום הארכיון עושה — רחב יותר ממה ש-VulnCheck פרסם.

הרשומות הבודדות שמאחורי הדפוס מתועדות. CVE-2025-3248 היה פגם בהזרקת קוד באותה נקודת קצה /api/v1/validate/code, שתוקן ב-Langflow 1.3.0 על ידי החלפת ההרצה באימות של קומפילציה בלבד, לפי ייעוץ GitHub GHSA-rvqx-wpfh-mfx7 כפי שצוטט על ידי Cloud Security Alliance — כלומר CVE-2026-0768 הוא אותו סוג של באג באותו נתיב קוד, כארבעה חודשים לאחר שהתיקון הזה הופץ. CVE-2026-33017, RCE ללא אימות בנקודת הקצה הציבורית לבניית זרימות, הפך לנשק בתוך כ-20 שעות מחשיפתו במרץ 2026 ושימש להשתלטות על פרטי גישה של OpenAI, Anthropic ו-AWS לפני מעבר לכריית Monero, לפי תיאור של Cloud Security Alliance. ההערה של אותה ברית מ-12 ביוני 2026 מתייחסת ל-CVE-2026-5027, פגם של מעבר נתיב (path traversal) בנקודת הקצה להעלאת קבצים שחוקרים קישרו לקבוצת MuddyWater בחסות המדינה האיראנית, וההערה שלה מ-4 בספטמבר מתעדת את CVE-2026-55255, עקיפת הרשאה המאפשרת למשתמש מאומת להריץ זרימות של משתמש אחר, שנכנסה לקטלוג הפגיעויות המנוצלות הידועות של CISA ב-7 ביולי 2026. לארבעה אלה צורה משותפת: נקודת קצה שאו דילגה על אימות או דילגה על חיטוי, בפלטפורמה שתפקידה להחזיק פרטי גישה לכל מה שהיא מתקשרת איתו.

למה פלטפורמת תזמור שווה את הטרחה

מופע Langflow בסביבת ייצור מוגדר עם מפתחות API של ספקים, אישורי ענן, מחרוזות חיבור למסדי נתונים וסודות אינטגרציה, משום שהתהליכים שהוא מריץ זקוקים להם בזמן הקריאה. לפיכך, פגיעה במארח מקנה גישה פעילה לכל שירות שאישוריו מאוחסנים במופע. מפתחות OpenAI או Anthropic גנובים מאפשרים לתוקף לחייב את הקורבן בעלות הסקה או להתחזות לארגון בהמשך השרשרת; מפתחות AWS גנובים פותחים תשתית הרבה מעבר לקונטיינר Langflow. המנוף הזה, ולא יכולת כלשהי ייחודית ל-AI, הוא מה שהפקודות שנצפו שאפו להשיג.

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

מה תוקן, ומה עדיין מעורפל

זהו החלק החלש ביותר בתיעוד הציבורי, וכדאי להיות מדויקים לגבי הסיבה לכך. ההתראה של ZDI אינה מציינת גרסה מתוקנת. הרשומה של Snyk במסד הנתונים עבור ה-CVE מפרטת גרסאות מושפעות ככל גרסה לפני 1.10.1 וממליצה לשדרג ל-1.10.1 או גבוה יותר. דיווחים ציבוריים, כולל SecurityWeek ו-Security Affairs, מתארים את הטווח המושפע כגרסאות עד 1.4.2 אך אינם מזהים גרסה מתוקנת. Cloud Security Alliance ציינה ב-4 בספטמבר שמתחזקי Langflow לא פרסמו התראת אבטחה ייעודית שמציינת את ה-CVE הזה, ושכלי המעקב לא תמימו דעים לגבי איזו מהדורה תיקנה אותה בפועל — אי-בהירות שלדברי הברית מהדהדת מקרה קודם של Langflow שבו גרסה שדווחה כמתוקנת נותרה ניתנת לניצול.

Langflow אכן שחררה תיקונים באזור הנכון, ביום הנכון. גרסה 1.11.6 פורסמה ב-1 בספטמבר 2026, יום שני שבו מספר מלכודות הדבש עבר את 360, והערות השחרור שלה מתארות backport של תיקוני אבטחה הכוללים "close component code scan gaps" ו-"resolve annotations without execution" (בקשת משיכה 14876). גרסה 1.12.0 הגיעה באותו ערב. חיזוק נוסף של אותו נתיב קוד נמשך לאחר מכן: בקשת משיכה מאוחרת יותר שכותרתה "stop validate_code from executing imports" מצביעה על כך שנקודת הקצה validate עדיין הייתה מהודקת שבועות לאחר הניצול הראשון. אף אחד מאלה אינו מהווה הצהרה של הספק ש-CVE-2026-0768 תוקנה בגרסה בשם, ואף אחת כזו לא נמצאה במקורות המצוטטים ברשומה.

מה שהשתנה בצד התוקף ברור יותר. מודול ניצול של Metasploit עבור הפגיעות נפתח כבקשת משיכה ב-2 בספטמבר 2026 — באותו יום שבו פרסם Security Affairs — ומוזג ב-8 באוקטובר 2026, ונבדק מול Langflow 1.4.2. יהא אשר יהא מצב הגזירה המקורית, ניצול פגיעות זו הפסיק לדרוש עבודה מקורית שישה שבועות לאחר שהחל להיות מנוצל.

התגובה המומלצת של Cloud Security Alliance היא רצף של הטלאה וסיבוב ולא הטלאה בלבד: לאמת את הגרסה הפועלת ולעבור למהדורה היציבה הנוכחית; להתייחס לכל מופע חשוף לאינטרנט בגרסה מושפעת כאל פרוץ עד שיוכח אחרת, מכיוון שהפעילות שנצפתה היא איסוף שקט ולא שיבוש גלוי; ולסובב כל סוד שהמופע יכול היה להגיע אליו — סיסמת המשתמש העל של Langflow, מפתחות API של ספקים, מפתחות גישה וסוד של AWS, ומפתח הסוד של Langflow עצמו, ולהצפין מחדש את פרטי הכניסה המאוחסנים ולא רק להחליף את הקובץ. היא גם ממליצה לערוך ביקורת ביומני הגישה לבקשות לנקודת הקצה validate, לבדוק את authorized_keys עבור מפתחות SSH לא מוכרים, ולחפש ראיות לכך שמפעיל קודם כבר שתל דלת אחורית במארח. כאשר הפלטפורמה חייבת להישאר נגישה, היא מציעה להגביל או להשבית את נקודת הקצה validate ולעבור משימוש במפתחות ארוכי טווח בעלי הרשאות גבוהות המאוחסנים ישירות בפלטפורמה.

A card listing four VulnCheck detection figures beside the exact environment variables and files the attackers queried, including LANGFLOW_SUPERUSER, OPENAI_API and the cached Langflow secret key.

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

נקבע: ש-CVE-2026-0768 הוא RCE ללא אימות בנקודת הקצה validate של Langflow, אשר מריץ Python בהרשאות root, כמתועד ב-ZDI-26-034 ומשוכפל כ-GHSA-x5pr-rvjj-j6qm; שניצול החל ב-29–30 באוגוסט 2026; ש-VulnCheck תיעדה יותר מ-50 זיהויים בתוך שעות ויותר מ-360 עד 1 בספטמבר, מול חיישנים בבריטניה, כאשר התעבורה הגיעה בעיקר מרוסיה; ושהבקשות שנצפו כוונו לפרטי התחברות של משתמש-על של Langflow, של OpenAI ו-AWS, וכן למפתח הסודי השמור במטמון, ל-.ssh ול-.bash_history. אלה מגיעים מהייעוץ עצמו ומהטלמטריה של VulnCheck כפי שדווחו באופן בלתי תלוי על ידי SecurityWeek, Security Affairs ו-The Hacker News.

מדווח, לא אומת באופן עצמאי: כל מספר זיהוי. ה-50, ה-360 וה-15,000 הם נתונים של VulnCheck עצמה, שפורסמו על ידי החברה וחזרו עליהם כלי תקשורת שמזקפים אותם לזכותה; אף רשת מלכודות דבש שנייה לא פרסמה מספר מאמת. הייחוס לתשתית רוסית הוא גם כן פרשנותה של VulnCheck לתעבורת המקור, ולא הערכה שכל ממשלה או CERT אישרו בחומר שנסקר.

לא הוכח: שארגון כלשהו שנקרא בשמו איבד פרטי התחברות. לא זוהה קורבן במקורות הרשומה. גם אין גרסה מתוקנת מאומתת: ZDI לא נוקבת באף גרסה, Snyk מציינת 1.10.1, הדיווח אומר שההשפעה נמשכת עד 1.4.2, והערות השחרור של 1.11.6 מתארות תיקוני אבטחה בלי לקשר אותם ל-CVE הזה. גם ספירת "הפגם השנים־עשר של 2026" אינה עקבית פנימית בין מקורותיה שלה, כפי שפורט לעיל.

A three-column card separating what is established about the Langflow incident from what is reported but unverified and what is not established, in green, amber and red.

החלק שאמור להדאיג אנשים שמתקינים טלאים לפי לוח זמנים

הפער של שמונה חודשים הוא הממצא. CVE-2026-0768 פורסם כ-zero-day ב-9 בינואר 2026, עם תיאור טכני מפורט דיו כדי לשחזר ממנו, ושום דבר לא קרה מול החיישנים של VulnCheck עד סוף השבוע האחרון של אוגוסט. ואז הגיעו כמה מאות ניסיונות בתוך שלושה ימים, ממפעילים שלפי גרסת החברה לא היה להם אקספלויט ציבורי להעתיק. מה שהשאיר את אותם מופעים ללא תיקון במשך שמונה חודשים של התרעה קריטית ציבורית הוא אותו דבר שהפך את הפגיעות לשווה ניצול כשמישהו סוף סוף כתב את הקוד.

זה גם סוגר מעגל שפרצות ה-CVE הקודמות של Langflow פתחו. CVE-2025-3248 תוקנה על ידי הסרת ההרצה מאותו נתיב validate; CVE-2026-0768 בכל זאת מבצעת הרצה באותו נתיב. תיקון שמסיר התנהגות בלי להסיר את החלטת התכנון שיצרה אותה קונה זמן, ובמקרה הזה הוא קנה כארבעה חודשים.