חוקר האבטחה של גוגל, טאוויס אורמנדי, זיהה פגיעות חדשה (CVE-2023-23583) במעבדי אינטל, בשם הקוד Reptar, המהווה איום בעיקר על מערכות ענן המפעילות מכונות וירטואליות השייכות למשתמשים שונים. הפגיעות עלולה לגרום לתקיעת מערכת או קריסתה בעת ביצוע פעולות מסוימות במערכות אורח לא מורשות. כלי עזר שיוצר את התנאים לניצול פורסם למטרות בדיקה.
תיאורטית, ניתן לנצל את הפגיעות כדי להעלות הרשאות מטבעת 3 לטבעת 0 (CPL0) ולברוח מסביבות מבודדות, אך תרחיש זה טרם אושר בפועל עקב קשיים באיתור ניפויים ברמה המיקרו-ארכיטקטורתית. בדיקות פנימיות באינטל הדגימו גם את הפוטנציאל לניצול הפגיעות לצורך העלות הרשאות בתנאים מסוימים.
על פי החוקר, הפגיעות משפיעה על משפחות מעבדי אינטל מדגמי Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake ו-Sapphire Rapids. דו"ח אינטל מציין כי הבעיה משפיעה על מעבדי Intel Core מהדור העשירי (Ice Lake) ועל מעבדי Xeon Scalable מהדור השלישי, כמו גם על מעבדי Xeon E/D/W (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) ומעבדי Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake ו-Denverton). הפגיעות תוקנה בעדכון המיקרו-קוד 20231114 של אתמול.
הפגיעות נגרמת על ידי מצב מיקרו-ארכיטקטורלי מסוים שבו ביצוע הפקודה "REP MOVSB" מקודד עם קידומת "REX" מיותרת, מה שמוביל להתנהגות לא מוגדרת. הבעיה התגלתה במהלך בדיקת קידומות מיותרות, אשר תיאורטית היו צריכות להתעלם מהן אך בפועל הובילו להשפעות מוזרות, כגון התעלמות מקפיצות ללא תנאי ושיבוש שמירת המצביע בהוראות xsave ו-call. ניתוח נוסף גילה כי הוספת קידומת מיותרת להוראת "REP MOVSB" משחיתה את תוכן ה-ROB (ReOrder Buffer), המשמש לסידור הוראות.
השגיאה נגרמת ככל הנראה מחישוב שגוי של גודל הפקודה MOVSB, מה שמוביל לשיבוש בכתובת ההוראות שנכתבות למאגר ROB לאחר ה-MOVSB עם קידומת מוגזמת, ולחוסר יישור של מצביע ההוראות. חוסר סנכרון זה עשוי להיות מוגבל לשיבוש חישובי ביניים ולאחר מכן לשחזור מצב עקבי. עם זאת, אם הקריסה מופעלת בו זמנית על מספר ליבות או הליכי SMT, היא עלולה לגרום לשחיתות מיקרו-ארכיטקטורה מספקת כדי לגרום לקריסה.
מקור: OpenNet.ru
