
CVE-2025-13032 חלק 2: SAFA הציגה הסלמת הרשאות מלאה ב-Windows 11 דרך הדרייבר של Avast
צוות SAFA תיאר כיצד הפך את CVE-2025-13032, פגיעות קריאה כפולה בדרייבר ה-kernel של Avast, להסלמת הרשאות מלאה עד SYSTEM במערכת Windows 11 מעודכנת. הפגיעות כבר תוקנה.
צוות SAFA פרסם את החלק השני והאחרון במחקר שלו על CVE-2025-13032, פגיעות קריאה כפולה שהתגלתה בדרייבר ה-kernel של Avast. הפוסט מ-18 בספטמבר 2026 מתאר שרשרת ניצול מלאה שמסתיימת בהרשאות SYSTEM על מערכת Windows 11 מעודכנת לחלוטין.
מקריאה כפולה להצפת ה-pool
הדרייבר מקבל מהמשתמש מבנה _UNICODE_STRING אך קורא את שדה Length שלו פעמיים: תחילה כדי לקבוע את גודל החוצץ דרך ExAllocatePoolWithTag, ואחר כך כדי להפעיל את ה-memmove שמעתיק אליו את המחרוזת. בין שתי הקריאות תהליכון שני יכול להגדיל את Length לערך גדול כמו 0x1000, בעוד התהליכון הראשי ממשיך לקרוא ל-IOCTL הפגיע בלולאה. כשהתזמון מסתדר, ה-kernel מעתיק יותר בתים משהקצה וההצפה עוברת לבלוק הסמוך ב-paged pool. לפי SAFA חלון המירוץ צר, אך אפשר לזכות בו באופן אמין.
היעד: מערך RegBuffers של אובייקט IORing
היעד שנבחר היה אובייקט I/O Ring, שמקבץ פעולות קובץ א-סינכרוניות דרך IoRingReadFile ו-IoRingWriteFile. מערך המצביעים RegBuffers שלו יושב בדיוק ב-paged pool שאליו מגיעה ההצפה, גודלו בשליטת המשתמש, ופגיעה במצביע אחד מספיקה לפרימיטיב קריאה וכתיבה מלא. החוקרים הקצו מערכים רבים כאלה, שחררו חלקם והפעילו את הפגיעות כך שההצפה נחתה לצד מערך חי.

המצביע RegBuffers[0] הופנה למבנה מזויף _IOP_MC_BUFFER_ENTRY בזיכרון התוקף, כך שה-kernel מפענח כתובת שנשלטת על ידו. הדבר אפשרי מפני ש-Windows אינה מיישמת SMAP. IoRingReadFile הפך לכתיבה שרירותית ל-kernel ו-IoRingWriteFile לקריאה שרירותית.
דליפת כתובת kernel דרך MDL
כתובות ה-kernel עוברות רנדומיזציה, ולכן נדרשה כתובת ידועה אחת: ה-_EPROCESS של התהליך עצמו. חוצץ רשום ממופה דרך Memory Descriptor List, וה-kernel שומר את המצביע אליו ברשומת החוצץ. מכיוון שהרשומה נמצאת כעת ב-userland, החוקרים קראו את שדה Mdl, כיוונו את Address ל-MDL וקראו את שדה Process, שמחזיק מצביע ל-_EPROCESS הבעלים.
תיקונים ואז הרשאות SYSTEM
ההצפה פגעה גם ב-ProcessBilled, מצביע מעורפל בכותרת בלוק ה-pool שמחושב כ-EPROCESS ^ ChunkAddress ^ ExpPoolQuotaCookie, ובלי תיקון הוא גורם למסך כחול בשחרור הבלוק. SAFA הפיקה את ה-cookie מאובייקט IORing שני ונקי והחזירה את הערך הנכון. הצעד האחרון גונב את ה-token של תהליך SYSTEM: המנצל עובר על רשימת ה-EPROCESS, קורא את ה-token של SYSTEM ודורס את שלו. הפגיעות תוקנה, וליבות Windows חדשות משתמשות ב-user-mode accessors שהיו חוסמים טכניקה זו.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.