פגיעות קריטית בסודו מאפשרת לקבל הרשאות שורש

ل חוקרי אבטחה של Qualys זיהו פגיעות קריטית (CVE-2021-3156) בתוכנית sudo, אשר נועד לארגן את ביצוע הפקודה בשם משתמשים אחרים.

פגיעות מאפשר גישה לא מאומתת עם הרשאות שורש. הבעיה יכול לשמש את כל המשתמשים, ללא קשר לנוכחות בקבוצות המערכת ולנוכחות רשומה בקובץ / etc / sudoers.

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

כדי לחפש פגיעות במערכת שלך, פשוט הפעל את הפקודה "sudoedit -s /" והפגיעות קיימת אם מוצגת הודעת שגיאה המתחילה ב- "sudoedit:".

על פגיעות

הפגיעות הופיעה מאז יולי 2011 והיא נגרמת על ידי הצפת מאגר בטיפול בתווי בריחת קו בפרמטרים שנועדו לבצע פקודות במצב מעטפת. מצב הפגז מופעל על ידי ציון ארגומנטים "-i" או "-s" וגורם לכך שהפקודה לא תבוצע ישירות, אלא באמצעות קריאת פגז נוספת עם הדגל "-c" ("פקודת sh -c»).

השורה התחתונה היא שכאשר השירות sudo מופעל כרגיל, הוא נמלט מהתווים המיוחדים על ידי ציון האפשרויות "-i" ו- "-s", אך כאשר מופעל כלי השירות sudoedit, הפרמטרים אינם נמלטים, כ- parse_args () הפונקציה מגדירה את משתנה הסביבה MODE_EDIT במקום MODE_SHELL ולא מאפסת את הערך של "valid_flags".

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

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

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

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

חוקרי האבטחה של קוואליס הצליחו להכין שלושה מעללים, שעבודתם מבוססת על כתיבת תוכן המבנים sudo_hook_entry, service_user ו- def_timestampdir:

  • על ידי הפסקת sudo_hook_entry ניתן להריץ בינארי בשם "SYSTEMD_BYPASS_USERDB" כשורש.
  • עקיפת service_user הצליחה להפעיל קוד שרירותי כשורש.
  • על ידי עקיפת def_timestampdir, ניתן היה לשטוף את תוכן ערימת sudo, כולל משתני סביבה, לקובץ / etc / passwd ולהשיג את החלפת המשתמש עם הרשאות שורש.

החוקרים הראו שמנצלים עובדים כדי לקבל הרשאות שורש מלאות באובונטו 20.04, דביאן 10 ופדורה 33.

פגיעות ניתן לנצל במערכות הפעלה והפצות אחרות, אך אימות החוקרים הוגבל לאובונטו, דביאן ופדורה, בנוסף מוזכר כי כל גרסאות sudo 1.8.2 עד 1.8.31p2 ו- 1.9.0 עד 1.9.5p1 בהגדרות ברירת המחדל מושפעות. פתרון מוצע ב- sudo 1.9.5p2.

החוקרים הודיעו למפתחים מראש מפיצים שכבר פרסמו עדכוני חבילות בצורה מתואמת: דביאן, RHEL, פדור, אובונטו, SUSE / openSUSE, Arch Linux, Slackware, Gentoo ו- FreeBSD.

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


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

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

*

*

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