
פגם vhost של Linux CVE-2026-74580 מעניק root מקומי ובריחה מאורח
פגם בן תשע שנים ב-vhost של Linux, CVE-2026-74580 המכונה Vghost, מאפשר למשתמש מקומי לקבל הרשאות root ולברוח למארח ה-VM. מעבדת Tencent Zhuque Lab מצאה פגיעות זו בעזרת AI.
רקע והשפעה
Tencent Zhuque Lab חשף פגיעות במערכת משנה של vhost בליבת Linux, הידועה כ-CVE-2026-74580 ובשם Vghost. הפגם פוגע בגרסאות ליבה 4.11 עד 7.2-rc4, במרחק של כתשע שנים. הוא מאפשר למשתמש מקומי לא מהודר לקרוא ולכתוב לכל זיכרון בליבה, לעקוף את אקראיות מרחב כתובות הליבה ולקבל הרשאות root. בתרחיש וירטואליזציה, כאשר התקן virtio מחובר מאחורי IOMMU וירטואלי עם הפעלת iommu_platform ו-vhost פועל במצב device-IOTLB, אורח לא מהימן יכול לנצל את אותו פגם ולכתוב מחוץ לגבולות לתהליך QEMU של המארח, מה שעלול לאפשר הרצת קוד על המארח.
הפגם נמצא בעזרת Corvus AI, מערכת רב-סוכנית של Tencent לחקר פגיעויות בליבה. בתיקון לקראת העליינה (upstream) ה-AI מוזכר בשורת Assisted-by. Tencent שחררה את התיקון ב-3 באוגוסט, ותיאור מלא עם הדגמות עבודה פורסם ב-12 באוקטובר. לא קיימים ידיעות ציבוריות על ניצול בפועל של הפגם.
פרטים טכניים
מערכת המשנה של vhost מאיצה פעולות רשת וכניסה/יציאה אחרות עבור מכונות וירטואליות ומכולות. משתמש מקומי משתמש בה באמצעות צמדי התקנים כמו /dev/vhost-net או /dev/vhost-vsock. המערכת שומרת מטמון של מפות זיכרון עבור כל טבעת וירטואלית ועבור התור המשותף. כניסה למטמון נחשבת כהוכחה שהאזור כבר נבדק. המטמון נמחק בעת רענון או ביטול מפות ובעת טעינה מחדש של התור, אך לא כאשר VHOST_SET_VRING_ADDR או VHOST_SET_VRING_NUM משנים את כתובות הטבעת או גודלה בזמן תור חי.
כאשר IOTLB של ההתקן מחובר, פקודות אלה מקבלות כתובות חדשות ללא בדיקה מיידית ודוחות את הבדיקה לשלב מאוחר יותר. לאחר מילוי המטמון, הבדיקה הבאה לא מסתיימת ו-vhost מתרגם כתובות חדשות באמצעות מפות ישנות. לאחר מכן הליבה מעתיקה נתונים למצביע שהתקבל ללא בדיקת גבולות, מה שמוביל לכתיבה ל-used ring או לקריאה של descriptor מחוץ למפה. זה מעניק לתוקף פרימיטיבי קריאה וכתיבה בליבה. הפגם נובע משתי שינויים: שינוי מ-2017 ב-Linux 4.11, שהכניס את המטמון ואת היתרון שלו, ושינוי מ-2020 ב-Linux 5.9, שהסיר את בדיקת הכתובות מנתיב הפקודה וביטל את בדיקת אימות התרגום הישנה.
פתרון וחומרה
התיקון, commit de845981da67, מנקה את המטמון בכל פעם שהטבעת מוגדרת מחדש. על המשתמשים להתקין ליבה עם תיקון זה ולאתחל את המערכת. גרסאות יציבות העליינה הראשונות מתוקנות הן 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9 ו-7.2. Red Hat, Amazon Linux ו-Oracle Linux כבר שחררו ליבות מעודכנות. Ubuntu תיקנה את 22.04, ובמצב נכון ל-13 באוקטובר, ליבות 24.04 ו-26.04 עדיין בתהליך.
עד שהליבה המתוקנת תיכנס לתוקף, על המנהלים להגביל גישה לצמדי התקן vhost ב-/dev/vhost-net וב-/dev/vhost-vsock על ידי הסרת הרשאות קריאה וכתיבה לכולם, להגביל את קבוצת הבעלים לשירותי וירטואליזציה מהימנים בלבד ולהחשיב חברות בקבוצה כפעולה מהודרת. אין פתרון מעקף זמני לנתיב בריחה מאורח למארח, הפתרון היחיד הוא ליבה מתוקנת. הערכות חומרה שונות: צוות CVE של kernel.org מעריך את הפגם ב-8.8 עם טווח שונה, מכיוון שכתיבה מאורח למארח מפרה את הגבול בין אורח למארח, ואילו Red Hat מעריך ב-7.3 עם טווח לא שונה והשפעת integrity נמוכה יותר. Amazon מעניקה 7.8, Oracle 7.3.
מקורות: The Hacker News
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.