Dirty Pipe, אחת הפגיעות החמורות ביותר מזה שנים בלינוקס

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

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

למרות שהוא כבר תוקן לתוך ליבת לינוקס הראשית, הבאג יכול להיות נשק בצורה של ניצול הסלמה של הרשאות בכל המכשירים המריצים את ליבת לינוקס בגרסה 5.8 ואילך.

זה גם אומר שחבורה של סמארטפונים אנדרואיד ששוחררו לאחרונה, כמו סמסונג גלקסי S22 וגוגל פיקסל 6, פגיעות גם הן, עד שכל מכשיר יקבל את תיקון הקרנל המתאים מה-OEM המתאים.

לגבי Dirty Pipe

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

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

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

לאחר חודשים של ניתוח, החוקר גילה בסופו של דבר שקובצי הלקוח הפגומים היו תוצאה של באג בליבת לינוקס. הוא מצא דרך לנצל את Dirty Pipe כדי לאפשר לכל מי שיש לו חשבון, כולל חשבונות "אף אחד" פחות מיוחסים, להוסיף מפתח SSH לחשבון המשתמש הבסיסי.

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

כדי לנצל את הפגיעות הזו, עליך: ליצור צינור, למלא את הצינור בנתונים שרירותיים (על ידי הגדרת הדגל PIPE_BUF_FLAG_CAN_MERGE בכל הערכים בטבעת), לרוקן את הצינור (להשאיר את הדגל מוגדר בכל המופעים של מבנה ה-pipe_buffer במבנה של טבעת pipe_inode_info), למזג את הנתונים מקובץ היעד (נפתח עם O_RDONLY) לתוך הצינור ממש לפני היסט היעד, ולכתוב נתונים שרירותיים לצינור.

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

לדברי קלרמן, גוגל מיזגה את תיקון הבאגים שלה עם ליבת אנדרואיד בחודש שעבר, מיד לאחר שהוא תוקן עם שחרור גרסאות ליבת לינוקס 5.16.11, 5.15.25 ו-5.10.102.

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

מפתחי ליבת לינוקס פרסמו תיקונים (5.16.11, 5.15.25, 5.10.102) ב-23 בפברואר, בעוד שגוגל תיקנה את ליבת האנדרואיד ב-24 בפברואר. קלרמן ומומחים אחרים השוו את הפגיעות ל CVE-2016-5195 "פרה מלוכלכת" והם אמרו שזה אפילו יותר קל לנצל.

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


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

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

*

*

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