פגיעות של לפני יותר מ- 15 שנה ב- Netfilter אפשרה הסלמה של הרשאות

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

הפגיעות של CVE-2021-22555 זו בעיה שקיימת מאז הליבה 2.6.19, הושק לפני 15 שנה והוא נגרמת בגלל באג בנהגים IPT_SO_SET_REPLACE ו- IP6T_SO_SET_REPLACE, מה שגורם להצפת חיץ בעת שליחת פרמטרים מעוצבים במיוחד דרך שיחת setsockopt במצב תאימות.

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

למשל תמיכה במרחבי שמות משתמשים חסרי זכות היא בליבה 3.8. כמו כן, לחלק מההפצות יש תיקון שמוסיף sysctl כדי להשבית מרחבי שמות משתמשים לא מורשים.

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

CVE-2021-22555 הוא פגיעות של כתיבה בערימה בת 15 שנה בלינוקס Netfilter, שהיא חזקה מספיק כדי לעקוף את כל הפחתות האבטחה המודרניות ולהשיג ביצוע קוד הליבה.

ככזה, מתואר כך משתמש מקומי יכול ליצור מיכל עם משתמש שורש נפרד ולנצל את הפגיעות משםאני. לדוגמה, "מרחבי שמות משתמשים" נכללים כברירת מחדל באובונטו ובפדורה, אך לא ב- Debian וב- RHEL.

ניתן לנצל את הפגיעות על ידי החלפה חלקית של ה- m_list->nextמַצבִּיעַ msg_msgמבנה והשגת חינם לאחר השימוש. זה חזק מספיק כדי להפעיל את קוד הליבה שלך עוקף את KASLR, SMAP ו- SMEP.

כמו כן, מתעוררת בעיה בפונקציה xt_compat_target_from_user () עקב חישוב שגוי של זיכרון בעת ​​שמירת מבני ליבה לאחר המרה מייצוג 32 סיביות ל 64 סיביות.

ככזה, מוזכר ש השגיאה מאפשרת לכתוב ארבעה "אפס" בתים לכל מיקום שמחוץ למאגר הוקצה, מוגבל על ידי קיזוז 0x4C. בגלל זה מוזכר ש תכונה זו התבררה כמספיקה כדי ליצור ניצול המאפשר קבלת זכויות שורש: על ידי מחיקת m_list-> המצביע הבא במבנה msg_msg, נוצרו התנאים לגישה לנתונים לאחר פינוי זיכרון (שימוש אחרי חופשי), אשר שימש לאחר מכן לקבל מידע על כתובות ושינויים למבנים אחרים על ידי מניפולציה של קריאת המערכת msgsnd ().

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

הפרויקטים של Debian, Arch Linux ו- Fedora כבר יצרו עדכוני חבילות. החל מאובונטו, עדכוני RHEL ו- SUSE נמצאים בעבודה. מכיוון שהשגיאה חמורה, ניתנת לניצול בפועל ומאפשר לברוח מהמיכל, גוגל העריכה את תגליתו ב -10,000 דולר והכפילה את הפרס לחוקר שזיהה את הפגיעות ולזיהוי שיטה להימנע מבידוד מכולות Kubernetes באשכול kCTF.

לבדיקה הוכן אב-טיפוס עובד של נצל העוקף את מנגנוני ההגנה KASLR, SMAP ו- SMEP.

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


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

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

*

*

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