
שתי פרצות קריטיות ב-Wasmtime עלולות לאפשר למודולי WebAssembly זדוניים לברוח מארגז החול
מתחזקי Wasmtime אומרים כי שתי פרצות קריטיות ב-Cranelift עלולות לאפשר למודולי WebAssembly זדוניים לברוח ממגבלות ארגז החול. גרסאות מתוקנות שוחררו ב-19 וב-20 באוקטובר, ולא דווח על התקפות.
שני פגמים קריטיים ב-Wasmtime, זמן ריצה של WebAssembly שניתן להטמיע בתוך תוכנה אחרת, עלולים לאפשר למודול WebAssembly זדוני לברוח מארגז החול שלו, לפי מתחזקי הפרויקט. תוקף יזדקק תחילה לבנייה פגיעה כדי להדר מודול שהוא שולט בו, ופגם אחד משפיע רק על מערכות ARM64. גרסאות מתוקנות שוחררו ב-19 וב-20 באוקטובר, והמתחזקים לא דיווחו על תקיפות כלשהן.
מה מושפע
שני הבאגים נמצאים ב-Cranelift, המהדר ש-Wasmtime משתמש בו כברירת מחדל. CVE-2026-115889 משפיע על כל ארכיטקטורות המעבדים, בעוד ש-CVE-2026-115893 משפיע רק על ARM64, הנקראת גם aarch64. ה-Bytecode Alliance דירגה כל פגם 9.9 מתוך 10 בסולם CVSS. הסיכון הוא הגבוה ביותר עבור שירותים המהדרים מודולים שנכתבו על ידי אנשים אחרים; Fastly אומרת שפלטפורמת Compute שלה מריצה קוד לקוחות באמצעות Wasmtime. האזהרות אינן מציינות שירותים מושפעים ואינן מפרטות למה תוקף יכול לגשת לאחר בריחה. אף פגם לא היה בקטלוג Known Exploited Vulnerabilities של CISA נכון ל-26 באוקטובר.
תיקוני גרסה
המהדורות המתוקנות הן 36.0.19, 48.0.7, 49.0.4 ו-50.0.0. גרסאות בנייה לפני 36.0.19, גרסאות 37.0.0 עד 42.x, גרסאות 43.0.0 עד 47.x, 48.0.0 עד 48.0.6 ו-49.0.0 עד 49.0.3 על ARM64 צריכות עדכון. מארחים על קווי מהדורה לא נתמכים חייבים לעבור למהדורה נתמכת. רק קווי המהדורות 36, 48, 49 ו-50 עדיין נתמכים; התמיכה בקו 24.x LTS הסתיימה ב-20 באוגוסט 2026, ולא התקבל תיקון. מארחי ARM64 שעודכנו באפריל כדי לתקן בריחת ארגז חול מוקדמת יותר של Cranelift עדיין מושפעים מ-CVE-2026-115893.
כיצד פועלות הפגמים
CVE-2026-115889 נובע מ-Cranelift שאגר מספרי מעקב ערכים בשדות של 24 ביט לפני גרסה 43. בגרסאות שחרור, מספר גדול מדי עבור שדהו גלש ללא שגיאה, כך ש-Cranelift יכול היה להפנות לערך שגוי ולייצר קוד מכונה שגוי. פונקציית WebAssembly גדולה מאוד או מתוכננת יכולה לנצל זאת כדי לכפות בלבול טיפוסים ולברוח מארגז החול. קו הפיתוח הראשי של Wasmtime הרחיב את השדות ל-32 ביטים בגרסה 43.0.0 ב-20 במרץ, וקו ה-LTS של 36.x קיבל את אותו שינוי ב-19 באוקטובר. CVE-2026-115893 נוגע ל-br_table על ARM64. אינדקסים מחוץ לטווח נשלחו ליעד ברירת המחדל עם הסתעפות שיכולה להגיע לכ-1 MiB, כך ש-br_table עם יותר מ-256,000 יעדים בערך הפך את טבלת הקפיצות לגדולה מדי וההסתעפות הצביעה בשקט על המיקום השגוי. הבאג קיים מאז ש-Wasmtime תמך לראשונה ב-ARM64 בשנת 2020. התיקון שולח אינדקסים מחוץ לטווח דרך טבלת הקפיצות ומסרב לקמפל br_table עם יותר מ-65,520 יעדים.
פרטים נוספים
ניתן להטמיע את Wasmtime בתוכניות אחרות כספרייה, כך שעדכון כלי שורת הפקודה אינו מתקן אותן; כל תוכנית שכוללת את Wasmtime צריכה להיבנות מחדש עם גרסה מתוקנת. אף אחת מהאזהרות לא מציינת פתרון עוקף. שני הפגמים רשומים ב-RustSec כ-RUSTSEC-2026-0380 ו-RUSTSEC-2026-0379. נכון ל-26 באוקטובר, למאגר האזהרות של GitHub הייתה רשומה שנבדקה עבור CVE-2026-115889 אך לא עבור CVE-2026-115893, ו-GitHub אומר שרק רשומות שנבדקו מפעילות התראות Dependabot. Spin עברה ל-Wasmtime 50.0.0 בגרסה 4.2.4 ב-21 באוקטובר.
מקורות: The Hacker News
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.