זיהה באג באספן האשפה של לינוקס שעלול להוביל להסלמה של הרשאות 

פגיעות מערכתית

לפני כמה ימים יאן הורן מצוות Google Project Zero, מי שזיהה בעבר את נקודות התורפה של Spectre ו-Metdown, חשף טכניקה לניצול פגיעות נמצא באספן האשפה של ליבת לינוקס (CVE-2021-4083).

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

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

יאן הורן הראה כיצד, בעזרת מניפולציות פיליגרן, ניתן להפחית את המצב אירוע מירוץ המתרחש בעת קריאה ל-close() ול-fget() מתפקד בו-זמנית לפגיעות מנוצלת לחלוטין של שימוש-אחרי-חופשי ומקבלת גישה למבנה נתונים שכבר שוחרר בתוך הקרנל.

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

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

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

הדרך ניצול פגיעות נחשף לאחר תקופת אי גילוי של 90 יום. הבעיה

וזה תוקן בתחילת דצמבר. התיקון נכלל בקרנל 5.16 והועבר גם לענפי ה-LTS של הקרנל ולחבילות עם הקרנל שסופק בהפצות. יש לציין שהפגיעות זוהתה במהלך ניתוח של בעיה דומה CVE-2021-0920, המתבטאת באוסף האשפה בעת עיבוד דגל MSG_PEEK.

עוד פגיעות שנמצאה לאחרונה בליבת לינוקס, זה היה CVE-2022-0742 כי יכול למצות את הזיכרון הזמין ולגרום מרחוק למניעת שירות על ידי שליחת מנות icmp6 מעוצבות במיוחד. הבעיה קשורה לדליפת זיכרון המתרחשת בעת עיבוד הודעות ICMPv6 עם סוגים 130 או 131.

הבעיה קיימת מאז ליבה 5.13 ותוקנה בגרסאות 5.16.13 ו-5.15.27. הבעיה לא השפיעה על דביאן, SUSE, אובונטו LTS (18.04, 20.04) ו-RHEL יציבים, היא תוקנה ב- Arch Linux.

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


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

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

*

*

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