זוהתה פגיעות ב- GDM

חוקר אבטחה מאת GitHub הודיע ​​על כך לאחרונה זיהית פגיעות (CVE-2020-16125) במנהל התצוגה של GNOME (GDM), האחראי על הצגת מסך הכניסה.

בשילוב עם פגיעות אחרת בשירות מעקב אחר חשבונות (חשבונות-דמון), הבעיה מאפשרת לקוד לפעול כשורש.  הפגיעות קשורה להפעלה שגויה של כלי התצורה הראשוני אם אי אפשר לגשת לשירות הדמון של החשבון באמצעות DBus.

על פגיעות

משתמש חסר זכות יכול לקרוס את תהליך חשבונות-הדמון או לנתק, מה ייצור את התנאים כדי להפעיל את כלי השירות gnome-initial-setup מ- GDM, באמצעותו משתמש חדש יכול להירשם כחבר בקבוצת sudo, כלומר, יכולת להריץ תוכניות כ- root.

בדרך כלל, GDM קורא להתקנת gnome-initial כדי להגדיר את המשתמש הראשון אם אין חשבונות במערכת. אימות קיומם של חשבונות נעשה על ידי פנייה לחשבונות-דמון. אם התהליך שצוין נכשל, GDM מניח שהחשבונות חסרים ומתחיל את תהליך התצורה הראשוני.

החוקר זיהה שתי דרכים לשבש את תהליך חשבונות הדמון- הראשון (CVE-2020-16126) נובע מאיפוס זכויות שגוי והשגיאה השנייה (CVE-2020-16127) בעת עיבוד קובץ ".pam_environment".

בנוסף, פגיעות נוספת נמצאה בחשבונות הדמון (CVE-2018-14036) נגרמת על ידי בדיקות שגויות של נתיבי קבצים ומאפשרות קריאה של תוכן קבצים שרירותי במערכת.

הפגיעות בחשבונות-דמון נגרמות על ידי שינויים שביצעו מפתחי אובונטו ואינן מופיעות בקוד הראשי של חשבונות-שדים בפרויקט FreeDesktop ובחבילת דביאן.

סוגיית CVE-2020-16127 קיימת בתיקון שנוסף באובונטו המיישם את הפונקציה is_in_pam_environment, הקוראת את התוכן של קובץ ה- .pam_environment מהספרייה הביתית של המשתמש. אם אתה שם קישור סמלי אל / dev / zero במקום לקובץ זה, תהליך הדמון של החשבון תלוי בפעולות קריאה אינסופיות ומפסיק להגיב לבקשות באמצעות DBus.

זה יוצא דופן שפגיעות במערכת הפעלה מודרנית היא כל כך קלה לניצול. במקרים מסוימים כתבתי אלפי שורות קוד כדי לנצל את הפגיעות. 

מרבית המנצלים המודרניים כוללים טריקים מסובכים, כמו שימוש בפגיעות של שחיתות זיכרון כדי לזייף אובייקטים מזויפים בערימה, או החלפת קובץ בסינקלינק לדיוק מיקרו שניה כדי לנצל פגיעות של TOCTOU. 

כך שבימים אלה נדיר יחסית למצוא פגיעות שאינה מצריכה מיומנויות קידוד כדי לנצל. אני גם חושב שהפגיעות קלה להבנה, גם אם אין לך שום ידע מוקדם לגבי אופן הפעולה של אובונטו או ניסיון במחקר אבטחה.

פגיעות CVE-2020-16126 נגרמת על ידי תיקון אחר המאפס את הרשאות המשתמש הנוכחי בעת עיבוד של כמה שיחות DBus (למשל, org.freedesktop.Accounts.User.SetLanguage).

תהליך הדמון של החשבון פועל כרגיל כשורש, מה שמונע ממשתמש רגיל לשלוח אותות.

אבל בזכות התיקון שנוסף, ניתן לאפס הרשאות תהליך והמשתמש יכול לסיים את התהליך על ידי שליחת אות. כדי לבצע התקפה, פשוט צרו את התנאים להסרת הרשאות (RUID) ושלחו אות SIGSEGV או SIGSTOP לתהליך הדמון של החשבון.

המשתמש מסיים את ההפעלה הגרפית ועובר למסוף הטקסט (Ctrl-Alt-F1).
לאחר סיום ההפעלה הגרפית, GDM מנסה להציג את מסך הכניסה, אך נתקע כשמנסים לקבל תגובה מ'דמון החשבונות '.

האותות SIGSEGV ו- SIGCONT נשלחים מהקונסולה לתהליך הדמון של החשבון, וגורמים לו להיתקע.

אתה יכול גם לשלוח אותות לפני היציאה מההפעלה הגרפית, אך עליך לעשות זאת בעיכוב כדי להספיק לסיים את ההפעלה ולפני שליחת האות, ל- GDM היה זמן להתחיל.

הבקשה לדמון החשבונות ב- GDM נכשלת ו- GDM מכנה את תוכנית השירות gnome-initial-setup, שבממשק שלה מספיק ליצור חשבון חדש.

הפגיעות קבועה ב- GNOME 3.36.2 ו- 3.38.2. ניצול הפגיעות אושר באובונטו ובנגזרות שלה.

מקור: https://securitylab.github.com


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.