
CVE-2026-18953: לשרת Transform MCP של AWS לא היה גבול כתיבה
- OrcaחדשOrcaCyber: MiniMax M3.1 Flash Abliterated / Uncensored2026-10-29100 tok/s
- OrcaחדשOrcaCyber: GLM 5.3 Flash Abliterated / Uncensored2026-10-27$0.80 / $1.60 לכל 1M טוקנים · 102 tok/s
- OrcaחדשOrcaCyber: Qwen3.8 Flash Next Abliterated / Uncensored2026-10-26$0.80 / $1.60 לכל 1M טוקנים · 283 tok/s
- OrcaחדשOrcaCyber: MiMo V2.6 Flash Abliterated / Uncensored2026-10-26$0.80 / $1.60 לכל 1M טוקנים · 93 tok/s
- MoonshotחדשMoonshotAI: Kimi K3.1 Pro2026-10-2446אינטליגנציה
- OrcaחדשOrcaCyber: DeepSeek V4.1 Flash Abliterated / Uncensored2026-10-23$0.80 / $1.60 לכל 1M טוקנים · 106 tok/s
- minimaxחדשMiniMax: M3.1 Flash2026-10-1929אינטליגנציה
- OrcaחדשOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 לכל 1M טוקנים · 70 tok/s
- deepseekחדשDeepSeek: DeepSeek V4.1 Flash 10172026-10-1733אינטליגנציה
- DeepSeekחדשDeepSeek: DeepSeek V4.1 Flash2026-10-1740אינטליגנציה
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 לכל 1M טוקנים · 95 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2955אינטליגנציה
- anthropicAnthropic: Claude Sonnet 5.52026-09-2854אינטליגנציה
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 לכל 1M טוקנים · 168 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2228אינטליגנציה
- OpenAIOpenAI: GPT-6 Sol2026-09-2248אינטליגנציה
- AnthropicAnthropic: Claude Opus 5.52026-09-2258אינטליגנציה
- xiaomiXiaomi: MiMo-V2.6-Flash2026-09-2127אינטליגנציה
- xiaomiXiaomi: MiMo-V2.6-Pro2026-09-2130אינטליגנציה
- xAIGrok 4.72026-09-2134אינטליגנציה
אמזון פרסמה ב-5 באוגוסט 2026 את הודעת האבטחה 2026-075-AWS עבור CVE-2026-18953, מעבר נתיב (path traversal) בget_resource, הכלי של awslabs.aws-transform-mcp-server, שרת Model Context Protocol בקוד פתוח שרץ במחשב של המפתח עצמו כדי שעוזר AI יוכל להפעיל משימות AWS Transform ולאחזר את הארטיפקטים שלהן. גרסאות 0.1.0 עד 0.1.4 לא הגבילו כראוי שמות נתיבים, ולפרמטר savePath יכול היה לכתוב קבצים מחוץ לספריית העבודה המיועדת — וזאת על פי ייעוץ GitHub במאגר של אמזון: "עלול להוביל להרצת קוד מקומית". אמזון דירגה אותה ב-8.6, גבוה. התיקון הוא גרסה 0.1.5, ואין פתרון עוקף בצד השרת או כזה שמבוסס רק על תצורה, משום שמסלול הקוד הפגיע קיים בתצורת ברירת המחדל. אף מקור ציבורי לא תיעד שמישהו ניצל אותה. הרשומה המלאה, עם דירוגי החומרה והמהימנות שלה, נמצאת בOrca AI Incident Archive לצד תקריות MCP ותקריות סביבת הרצת סוכנים שנרשמו באותו חודש.
שרת MCP שכותב במקום שבו המפתח עובד
שרתי Model Context Protocol הם השכבה שמעניקה לעוזר כלים הניתנים להפעלה, והשרת הזה הוא מקומי במכוון. העלון של Amazon מתאר אותו כ"שרת MCP בקוד פתוח שרץ באופן מקומי במחשב של מפתח ומאפשר לעוזרים מבוססי AI לתקשר עם AWS Transform כדי להריץ משימות שינוי קוד ולאחזר את הארטיפקטים שלהן". תיאור החבילה שלו ב-Python Package Index אומר שהוא חושף את מחזור החיים של Transform דרך 19 כלים, מנהל סביבות עבודה לשינוי, משימות, מחברים, משימות עם מעורבות אדם בלולאה, ארטיפקטים וצ'אט, ומכסה מודרניזציה של מיינפריים, הגירת VMware, מודרניזציה של .NET ושינויי קוד מותאמים אישית.
הצבה זו היא שנותנת לפגיעות את משמעותה. שרת בתשתית של הספק עצמו שמטפל בשם קובץ באופן שגוי משחית את האחסון של הספק. השרת הזה רץ בהרשאות המפתח, בספריית הבית של המפתח, לצד תצורת ה-shell ומפתחות ה-SSH שלו, וההשפעה שאמזון מתארת אינה הורדה פגומה אלא "הרצת קוד מקומית". כל ציון המשויך ל-CVE מסכים על נקודה אחת: וקטור התקיפה הוא מקומי, לא רשתי.
הכלי הנזכר בהודעה הוא זה שמוריד ארטיפקט של משימה אל הדיסק. get_resource מקבל savePath שמציין היכן הקובץ אמור לנחות. הבאג הוא ששום דבר לא מנע מהנתיב הזה להצביע למקום אחר.
כמה רע, ולפי החשבון של מי
שלושה ציונים משויכים ל-CVE הזה והם אינם תואמים. Amazon, שהקצתה את ה-CVE כרשות המספור, מדרגת אותו ב-8.6 High ב-CVSS v3.1 עם הווקטור CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H — מקומי, מורכבות נמוכה, ללא הרשאות נדרשות, נדרשת אינטראקציה של משתמש, היקף שונה, השפעה גבוהה על סודיות, שלמות וזמינות. לרשומה של NIST ב-National Vulnerability Database יש ציון ראשי משלה ב-v3.1 של 8.8 על וקטור אחר, CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H: נדרשות הרשאות נמוכות, ללא אינטראקציה של משתמש. שניהם נמצאים ברצועת High. אי-ההסכמה נוגעת לתנאים מוקדמים — האם התוקף כבר זקוק לנקודת אחיזה, והאם יש לשכנע אדם — ולא לשאלה עד כמה חמורה התוצאה.
ציון CVSS v4.0 של Amazon עבור אותו CVE הוא 6.3, בינוני, על CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H. קראו את מדדי ההשפעה: שום דבר במערכת הפגיעה עצמה, הכול גבוה במערכת העוקבת. זו הצורה של מעבר שפורץ את הגבול של הכלי עצמו — הנזק נגרם לכל מה שהכלי יכול להגיע אליו, ולכן הוא נופל לעמודת תת-המערכת והמערכת הפגיעה מקבלת ציון אפס.

ההעשרה של CISA ל-CVE, מיום 6 באוגוסט 2026, מתעדת החלטת SSVC: ניצול: אין, אוטומציה: לא, השפעה טכנית: מוחלטת. הרשומה של NVD עודכנה לאחרונה ב-23 באוקטובר 2026 ועדיין כוללת את 8.6 ואת 8.8 זה לצד זה. אף אחד מהמסמכים אינו מתייחס לאחר כאל שגוי.
מה הקוד הפגיע עשה, ומה השתנה ב-0.1.5
התיאור של Amazon את המנגנון הוא משפט אחד, והוא זהיר: הכלי "לא הגביל כראוי שמות נתיבים", מה שעלול לאפשר ל"שחקן תלוי הקשר" "לכתוב קבצים שרירותיים מחוץ לספריית העבודה המיועדת דרך פרמטר savePath". ההתראה אינה מגדירה את השחקן, אינה אומרת מה מפעיל את הכתיבה, ואינה מתארת איך נראה ניצול מוצלח. היא אומרת רק שהתוצאה "עלולה להוביל להרצת קוד מקומית".
התיאור הציבורי המפורט ביותר של המנגנון אינו של אמזון. מדובר במאגר קטן להוכחת היתכנות, ronamosa/CVE-2026-18953, שפורסם ב-GitHub ב-8 באוגוסט 2026 תחת Apache-2.0 — שני קומיטים, ללא כוכבים וללא פורקים נכון למועד הכתיבה — וכולל עותקים זהים של הגרסה הפגיעה והמתוקנת של file_validation.py ומריץ את שניהם באמצעות אותם קלטים.
הפרשנות שלה ל-0.1.4 היא זו: validate_write_path() פתרה את savePath באמצעות realpath ו-expanduser, דחתה רשימת חסימה קצרה של מיקומים (~/.aws, ~/.ssh, ~/.gnupg, ~/.docker, ~/.aws-transform-mcp, /etc/shadow, /etc/passwd), והסירה רכיבי תיקיות משם הקובץ שסופק. היא מעולם לא הגבילה את הנתיב שנפתר לשום תיקיית בסיס או תיקיית עבודה. רשימת חסימה של שמות קבצים רגישים — .bashrc, .zshrc, authorized_keys, id_rsa — נאכפה בקריאות אך לא בכתיבות.
המאגר מדגים שלוש כתיבות שהיכולת הזו מאפשרת: נתיב מוחלט שאינו זקוק כלל למעבר נתיבים, מילוט יחסי מסוג ../../, ושם של קובץ נקודה שנתיב הקריאה היה דוחה. כל השלוש נוחתות בתוך ספרייה זמנית שהסקריפט יוצר, ופלט הדוגמה שלו מציג dropped_by_absolute_path.sh, dropped_by_traversal.sh וקובץ .bashrc תחת ספריית בית מדומה; לעולם לא נוגעים בספריית הבית האמיתית. גרסה 0.1.5 מוסיפה את הגבול החסר: ספריית בסיס שנלקחת מתוך $AWS_TRANSFORM_MCP_WRITE_DIR או מספריית העבודה של השרת בעת האתחול, שכל כתיבה שנפתרה חייבת להימצא תחתיה, ובנוסף רשימת החסימה של שמות קבצים שמוחלת על נתיב הכתיבה הסופי שנפתר. המאמת המתוקן מעלה את ההודעה "Write path must be within the working directory" עבור כל שלושת המקרים.

אף אחד מהפרטים הללו אינו מופיע בהודעת הייעוץ, והמאגר אינו טוען שהם מקורם שם. יש להתייחס לרשימת החסימה, לבדיקת שם הקובץ לקריאה בלבד ולתיקון תיקיית הבסיס כאל שחזור מקוד המקור, ולא כממצא רשמי שני. מה שהמאגר כן מוסיף מעבר להודעת הייעוץ הוא תיאור של מי שיכול לספק את הנתיב: מכיוון שתפקיד השרת הוא למשוך תוכן של עבודות ומשימות אל ההקשר של עוזר, הגורם שבוחר את savePath אינו חייב להיות האדם שליד המקלדת. עוזר המונחה על ידי תוכן לא מהימן שאותו אסף דרך אותו כלי יכול להכריע. זו טענת המאגר, הנשענת על הקוד ועל עיצוב הכלי, ולא טענה שאמזון משמיעה; ה״גורם תלוי ההקשר״ הבלתי מוגדר של אמזון מתיישב עם זה ונעצר שם.
שבעה שבועות בין התיקון לבין העלון
התיקון לא הגיע עם ההודעה. היסטוריית השחרורים של Python Package Index — מטא-נתונים ממקור ראשון מהמרשם שדרכו מופצת החבילה — מתארכת את 0.1.4 ל-20 במאי 2026 ואת 0.1.5 ל-17 ביוני 2026, שבעה שבועות לפני פרסום Bulletin 2026-075 ב-5 באוגוסט. אין במרשם קובץ 0.1.0 כלל; הארטיפקט המוקדם ביותר שפורסם בתוך הטווח הפגוע הוא 0.1.1, שהועלה ב-9 במאי 2026. מפתח המתקין מהמרשם יכול היה אפוא לקבל גרסה פגיעה רק בין 9 במאי ל-17 ביוני, וכל מי שעקב אחר השחרורים כבר היה בקוד מתוקן באמצע יוני.

אמזון אינה אומרת מתי נודע לה על הבעיה, מתי הגיע הדוח, או מדוע יצאה ההפצה שסגרה אותה. האדם היחיד הנקוב ברשומה הוא דרו ריינס, שמודים לו גם בבולטין וגם בייעוץ של GitHub "על שיתוף הפעולה בנושא זה במסגרת תהליך גילוי הבעיה המתואם". GHSA-66mr-jr63-2jgw פורסם במאגר awslabs/mcp של אמזון ב-5 באוגוסט 2026, באותו יום שבו פורסם הבולטין; רשומת ה-CVE הוקצתה ב-13:44 UTC ופורסמה ב-19:33 UTC באותו יום.
אז תאריך התיקון קבוע, אך הסיבה לו לא. גרסה מתוקנת שנמצאת ברג'יסטרי שבעה שבועות לפני פרסום הייעוץ עולה בקנה אחד עם תיקון שקט ואחריו חשיפה מתואמת — אך זוהי הסקה משתי חותמות זמן, ואף אחד מהמסמכים אינו מציין זאת.
מה שהתיעוד מבסס, ומה שהוא אינו מבסס
הארכיון מדרג את הערך הזה כ-A — מתועד היטב, המקורות הראשוניים תמימי דעים — ואינו מסמן אותו כשנוי במחלוקת. הוא מסווג אותו כרשומת מחקר, ממצא פגיעות ולא כתקרית פריסה, ללא נזק ממשי מתועד. הדירוג נוגע לאיכות התיעוד, ועל סמך הראיות שנבחנו הוא אכן עומד: הבולטין, ההתראה ב-GitHub ורשומת ה-CVE הם שלושה מסמכים שפרסמה אמזון, והם תמימי דעים לגבי המוצר, הגרסאות, התיקון והקרדיט.
• מאומת. Amazon פרסמה את עלון 2026-075-AWS ב-5 באוגוסט 2026 המכסה את CVE-2026-18953, חציית נתיב מסוג CWE-22 בטיפול ב-get_resource של savePath ב-awslabs.aws-transform-mcp-server 0.1.0 עד 0.1.4, שתוקנה ב-0.1.5, ללא פתרון עוקף בצד השרת או פתרון עוקף מבוסס תצורה בלבד מכיוון שהנתיב הפגיע נמצא בתצורת ברירת המחדל.
• מבוסס. הציונים והפער ביניהם: 8.6 גבוה מאת Amazon כרשות המספור של CVE, 8.8 גבוה מאת NIST כציון הראשי של NVD, 6.3 בינוני ב-CVSS v4.0, והחלטת SSVC של CISA מ-6 באוגוסט שלא נצפו ניצול ולא נתיב שניתן לאוטומציה.
• נקבע. מועדי השחרור ב-Python Package Index, והקרדיט לדרו ריינס על גילוי מתואם.
• הוסק מקוד המקור, על ידי צד שלישי. רשימת החסימה, רשימת שמות הקבצים האסורים לקריאה בלבד, ספריית הבסיס החסרה והתיקון של _ALLOWED_WRITE_BASE מגיעים כולם ממאגר הוכחת הרעיון של ronamosa, שאת העותקים המוטמעים של שתי גרסאות הוולידטור ניתן להשוות בכל דרך.
• הוסק מחותמות זמן ומהעיצוב. ש-0.1.5 הייתה מהדורת אבטחה מכוונת, ושאיש עוזר שמונחה על ידי תוכן לא מהימן יכול לספק את הנתיב העוין. אמזון לא מציינת אף אחד מהשניים.
• לא נקבע. ניצול כלשהו בטבע. הרשומה של CISA "ניצול: אין" מתוארכת ל-6 באוגוסט, יומיים לפני שהופיעה הוכחת ההיתכנות הציבורית, ולכן היא מתייחסת לאותו רגע ולא לשום דבר שאחריו. לא פורסמו מספר משתמשים מושפעים, הודעה ללקוחות או טלמטריה.
• לא נקבע.דיווח עצמאי. נראה שאף כלי תקשורת מיינסטרים לא סיקר את ה-CVE הזה. התיעוד הציבורי כולל את שלושת המסמכים של Amazon, את תוספות המידע של NIST ו-CISA למסמכים אלה, דפי מעקב שמציגים מחדש את התיעוד, ואת מאגר ההוכחה-היתכנות הקטן היחיד שתואר לעיל.
מה השתנה, ומה כדאי לבדוק
הפתרון של אמזון הוא העלאת גרסה ותו לא: שדרגו ל-0.1.5 או לגרסה מאוחרת יותר, ו"ודאו שכל קוד מסועף או נגזר מוטלא כך שיכלול את התיקונים החדשים". הסעיף השני הוא זה שממשיך הלאה. השרת הוא קוד פתוח, וסיעוף שהטמיע את מאמת 0.1.4 יורש את הפגם בלי לרשת את הודעת האבטחה; הבולטין מבקש ממפעילי קוד נגזר להעביר את השינוי לתוכו, כלומר מהדורת המעלה-זרם אינה מגיעה לעותק שמישהו אחר מתחזק.
מאגר הוכחת ההיתכנות מציע משהו שהייעוץ מסרב לו. לדבריו, מפעילים שאינם יכולים לשדרג מיד צריכים להריץ את השרת כשתיקיית העבודה שלו מוגדרת לתיקייה ריקה ייעודית, ולהתייחס לכל קובץ שהוא יכול לכתוב אליו כאל נפרץ. עמדת אמזון מחמירה יותר: אין כלל פתרון עוקף בצד השרת או כזה שמבוסס רק על תצורה. לפי המאגר עצמו, גם ההצעה הזו חלשה, שכן הקוד הפגיע מעולם לא הגביל כתיבות לתיקיית העבודה מלכתחילה. במקום שבו השניים חלוקים, הוראת הספק לשדרוג בלבד היא הקובעת.
הדבר המועיל ברשומה הזו אינו הציון שלה, אלא המבנה שלה: שרת MCP מקומי, הורדת ארטיפקט עם יעד שסופק על ידי הקורא, ואין גבול בין השניים. הבדיקה החשובה אינה תאריך הבולטין אלא הגרסה המוצמדת — 0.1.5 ואילך, ואותו שינוי שיועבר לכל פורק שהעתיק את המאמת.
