נמצאה פגיעות של qmail המאפשרת לנצל אותה מרחוק

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

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

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

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

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

החבילות הנלוות ל- qmail התחשבו בתגובה של ברנשטיין ו בעת התחלת תהליך qmail-smtpd, הם הגבילו את הזיכרון הזמין (לדוגמה, ב- Debian 10, המגבלה נקבעה ל- 7MB).

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

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

הניצול מאפשר לבצע כל פקודה מעטפת עם זכויות של כל משתמש במערכת, למעט משתמשי שורש ומשתמשים שאין להם ספריה משנה משלהם בספריית "/ home".

ההתקפה מתבצעת באמצעות שליחת הודעת דוא"ל גדולה מאוד, הכולל מספר שורות בכותרת, בגודל 4GB ו -576 MB.

בעת עיבוד השורה האמורה ב- qmail-local הצפת מספרים שלמים מתרחשת כאשר מנסים להעביר הודעה למשתמש מקומי. הצפת מספר שלם מובילה לאחר מכן להצפת מאגר בעת העתקת נתונים ויכולת להחליף דפי זיכרון עם קוד libc.

כמו כן, בתהליך קריאה ל- qmesearch () ב- qmail-local, הקובץ ".qmail-extension" נפתח באמצעות הפונקציה open (), מה שמוביל להפעלת המערכת בפועל (". Qmail-extension"). אך מכיוון שחלק מקובץ "הסיומת" נוצר על סמך כתובת הנמען (למשל, "localuser-extension @ localdomain"), התוקפים יכולים לארגן את תחילת הפקודה על ידי ציון המשתמש "localuser-;" פקודה; @localdomain »כמקבל ההודעה.

ניתוח הקוד גילה גם שתי נקודות תורפה בתיקון הנוסף בדיקת qmail, שהיא חלק מחבילת דביאן.

  • הפגיעות הראשונה (CVE-2020-3811) מאפשרת לעקוף את אימות כתובות הדוא"ל, והשנייה (CVE-2020-3812) מובילה לדליפת מידע מקומית.
  • באמצעות הפגיעות השנייה ניתן לאמת את קיומם של קבצים וספריות במערכת, כולל אלה הזמינים רק ל- root (אימות qmail מתחיל עם הרשאות שורש) באמצעות שיחה ישירה לנהג המקומי.

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

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

מקור: https://www.openwall.com/


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

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

*

*

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