פגיעות שהייתה קיימת במשך 12 שנים ב-polkit אפשרה השגת הרשאות שורש 

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

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

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

על פגיעות

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

התורפה כ-CVE-2021-4034, הפגיעות קיבלה ציון CVSS של 7,8 וצוות Qualys הסביר לו בפוסט בבלוג כי:

פגם pkexec פותח את הדלת להרשאות שורש עבור תוקף. חוקרי Qualys, הוא אמר, הראו ניצול של התקנות ברירת מחדל של אובונטו, דביאן, פדורה ו-CentOS, והפצות לינוקס אחרות נחשבות גם הן פגיעות.

"ניצול מוצלח של הפגיעות הזו מאפשר לכל משתמש שאינו בעל הרשאות לקבל הרשאות שורש על המארח הפגיע. חוקרי האבטחה של Qualys הצליחו לאמת באופן עצמאי את הפגיעות, לפתח ניצול ולהשיג הרשאות שורש מלאות בהתקנות ברירת מחדל של אובונטו, דביאן, פדורה ו-CentOS. הפצות לינוקס אחרות כנראה פגיעות וניתנות לניצול. פגיעות זו הוסתרה במשך יותר מ-12 שנים ומשפיעה על כל הגרסאות של pkexec מאז השחרור הראשון שלה במאי 2009 (אשר את c8c3d83, "Add a pkexec(1) command").

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

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

העובדה שניתן להכניס את המשתנים הללו מחדש הופכת את הקוד לפגיע. לפחות טכניקת הניצול שמציעה Qualys (הזרקת המשתנה GCONV_PATH לסביבת pkexec כדי להפעיל ספרייה משותפת כשורש) משאירה עקבות בקבצי היומן.

בהודעת אבטחה, רד האט פרסמה את ההצהרה הבאה:

"Red Hat מודע לפגיעות שנמצאה ב-pkexec המאפשרת למשתמש מאומת לבצע התקפת העלאת הרשאות."

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

ראוי להזכיר זאת הפגיעות כבר זוהתה ב-2013 ותוארו בפירוט בפוסט בבלוג, גם אם לא סופק PoC:

"חחח, כתבתי על הפגיעות הזו של פולקיט ב-2013. לא הצלחתי למצוא נתיב ניצול ממשי, אבל כן זיהיתי את הסיבה לשורש."

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


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

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

*

*

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