Glibc 2.34 מגיע עם תיקוני פגיעות, פונקציות חדשות עבור Linux ועוד

לאחרונה פורסמה הגרסה החדשה של Glibc 2.34 שמגיע לאחר שישה חודשי פיתוח ובהם בוצעו מספר שינויים חשובים למדי, ביניהם הכללת הספריות libpthread, libdl, libutil ו- libanl, וכן תיקוני באגים שונים שאחד מהם גרם לחסימות.

למי שלא מכיר את Glibc, עליו לדעת מה זה ספריית GNU C, הידועה בכינוי glibc היא ספריית זמן הריצה הסטנדרטית של GNU C. במערכות שבהן הוא משמש, ספריית C זו מספק ומגדיר שיחות מערכת ופונקציות בסיסיות אחרות, הוא משמש כמעט בכל התוכניות. 

התכונות החדשות העיקריות של Glibc 2.34

בגרסה חדשה זו של Glibc 2.34 המוצגת libpthread, libdl, libutil ו- libanl שולבו בספרייה הראשית, השימוש בפונקציונליות שלה ביישומים כבר לא דורש לאגד אותם עם הדגלים -lpthread, -ldl, -lutil ו- -lanl.

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

מצד השינויים התמקדו בלינוקס Glibc 2.34 מדגיש את נוספה יכולת להשתמש בסוג time_t של 64 סיביות בקונפיגים שבאופן מסורתי השתמש בסוג time_t 32 סיביות. תכונה זו זמינה רק במערכות עם גרעין 5.1 ומעלה.

שינוי ספציפי נוסף עבור לינוקס הוא יישום פונקציית execveatכי מאפשר לבצע קובץ הפעלה מתוך מתאר קובץ פתוח. הפונקציה החדשה משמשת גם ביישום שיחת fexecve, שאינה דורשת הרכבה של מערכת הקבצים pseudo / proc בעת האתחול.

הפונקציה נוספה גם close_range () הזמין לגרסאות Linux 5.9 וגבוה יותר ואשר יכול להיות משמש לאפשר תהליך לסגור מגוון מלא של מתארי קבצים פתוח במקביל, בנוסף מיושם הפרמטר glibc.pthread.stack_cache_size, שניתן להשתמש בו כדי להתאים את גודל מטמון הערימה של pthread.

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

עבור חלק מהפגיעויות המתוקנות ב- Glibc 2.34, מוזכרים הדברים הבאים:

CVE-2021-27645: תהליך ה- nscd (שד שמירת השמירה של שרת שמות) נכשל עקב קריאה כפולה לפונקציה החינמית בעת עיבוד בקשות קבוצת רשת שנוצרו במיוחד.

CVE-2021-33574: גישה לאזור זיכרון שכבר פנוי (שימוש לאחר שימוש) בפונקציית mq_notify בעת שימוש בסוג ההתראה SIGEV_THREAD עם תכונת thread שאליה מוגדרת מסכת כריכה חלופית של מעבד. הבעיה עלולה לגרום לקריסה, אך אפשרויות התקפה אחרות אינן נכללות.

CVE-2021-35942: הצפת גודל הפרמטר בפונקציית wordexp עלולה לקרוס את היישום.

משאר השינויים הבולטים:

  • הפונקציה timespec_getres, המוגדרת בטיוטת ISO C2X טיוטה, נוספה ופונקציית timespec_get הוגדלה עם יכולות הדומות לפונקציה POSIX clock_getres.
  • בקובץ gconv-modules, נותרה רק קבוצה מינימלית של מודולי gconv עיקריים, והשאר הועברו לקובץ gconv-modules-extra.conf נוסף הממוקם בספריית gconv-modules.d.
  • השימוש בקישורים סמליים לקישור אובייקטים משותפים הניתנים להתקנה לגרסת Glibc הוסר. אובייקטים אלה מותקנים כעת כפי שהם (למשל libc.so.6 הוא כעת קובץ ולא קישור ל- libc-2.34.so).
  • ב- Linux, פונקציות כמו shm_open ו- sem_open דורשות כעת מערכת קבצים לזיכרון המשותף המותקן בנקודת ההרבה / dev / shm.

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


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

היה הראשון להגיב

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

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

*

*

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