xa_for_each()vgic_put_irq()xa_erase()EnableLPIsבריחות ממכונה וירטואלית אל המארח הן נדירות, אך נחשבות לקטגוריית הבאגים המסוכנת ביותר בהיפרווייזרים (Hypervisors), מכיוון שהן שוברות את חומת הבידוד עליה מתבסס מחשוב הענן. בעוד שמתקפות דומות בעבר כוונו לרוב למערכות x86 (לעיתים דרך QEMU או קוד ייעודי למעבדי AMD), ITScape היא ההוכחה הראשונה לפריצה מתוך מכונת ARM64 וירטואלית דרך קוד הליבה של KVM עצמו, ללא צורך בבאגים ברכיבי אמולציה חיצוניים .
עבור ספקי ענן המריצים שרתי ARM64 בסביבות מרובות-דיירים (Multi-Tenant), כמו AWS Graviton או Ampere Altra, תוקף יכול לבצע:
הקוד הפגיע ממוקם בנתיב ניקוי מטמון תרגום ה-LPI. כאשר הליבה צריכה לנקות ערכים מהמטמון, היא עוברת על מבנה הנתונים XArray באמצעות xa_for_each() ומשחררת את מונה ההפניות. הבעיה היא ש-xa_for_each() עלול להחזיר ערכים שכבר נמחקו על ידי פעולה מקבילה — למשל, פקודת DISCARD ITS שנשלחה מ-vCPU אחר. לולאת הניקוי עדיין מורידה את ההפניה על הערך שכבר הוסר, מה שמוביל לשחרור כפול ובסופו של דבר ל-Use-After-Free
.
פגיעות קודמת באותו רכיב, CVE-2024-26598, טופלה בעבר באופן חלקי על ידי העלאת מונה ההפניות בתוך vgic_its_check_cache() לפני שחרור המנעול. אולם, תיקון זה לא כיסה את נתיב הניקוי, והותיר את תנאי המרוץ ניתן לניצול
.
התיקון הרשמי משנה את הפונקציה vgic_its_invalidate_cache() כך שהקריאה ל-vgic_put_irq() מתבצעת אך ורק על הערך שמוחזר מפונקציית xa_erase(), ולא על כל ערך שהאיטרטור נוגע בו. הפונקציה xa_erase() מוחקת ערך ומוציאה אותו באופן אטומי — או מחזירה NULL אם הערך כבר לא היה קיים. לכן, התיקון מבטיח שמונה ההפניות יורד בדיוק פעם אחת, ומונע את חלון השחרור הכפול. התיקון שולב בליבת לינוקס בתחילת יוני 2026 והופץ במהירות לגרסאות היציבות של הליבה
. הפצות מרכזיות כמו Red Hat, SUSE ו-Debian כבר הפיצו עדכוני אבטחה ייעודיים
.
Hyunwoo Kim שחרר לציבור קוד ניצול פועל ב-GitHub בסביבות 9-10 ביוני 2026. המאגר כולל קוד מקור מלא, הוראות שחזור שלב אחר שלב, ותיאור טכני של שיטת הניצול . הקוד מפעיל את תנאי המרוץ באמצעות תיאום בין תהליכוני vCPU, אשר שולחים בו-זמנית פקודות DISCARD ומבצעים חיפושים במטמון התרגום. בכך, הוא מנחית במדויק את הפגיעה לשימוש בזיכרון ששוחרר ומשיג ביצוע קוד על המארח.
הזמינות הציבורית של קוד ניצול אמין פירושה שגורמי תקיפה וסורקי פגיעויות אוטומטיים יכולים למנף את הפרצה במאמץ מינימלי, מה שמקצר משמעותית את חלון הזמן בין החשיפה לתקיפות פעילות.
אם אתם מפעילים תשתית KVM מבוססת ARM64 בסביבה מרובת-דיירים — AWS Graviton, Ampere Altra, או כל פלטפורמה דומה — יש לנהוג במתווה חירום:
Comments
0 comments