הם מצאו שתי נקודות תורפה ב-Linux Kernel

10

לפני כמה ימים פורסמה הידיעה כי זוהו שתי נקודות תורפה ב-Linux Kernel הראשון שבהם כבר מקוטלג כ-CVE-2022-0435 ונמצא במודול ליבת לינוקס המספק את פעולת פרוטוקול הרשת TIPC (Transparent Inter-Process Communication).

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

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

פגיעות זה נגרם על ידי הצפת מחסנית המתרחשת בעת עיבוד מנות, הערך של השדה עם מספר הצמתים האיברים של התחום שבו הוא עולה על 64.

כדי לאחסן את הפרמטרים של הצמתים במודול tipc.ko, מערך מגדיר "u32 members[64 ]", אבל בתהליך של עיבוד מה שצוין בחבילה. מספר הצומת אינו בודק את הערך "member_cnt", המאפשר שימוש בערכים גדולים מ-64 לצורך החלפה מבוקרת של נתונים באזור הזיכרון למטה. המחסנית אחרי מבנה "dom_bef".

פרוטוקול TIPC פותח במקור על ידי אריקסון, הוא נועד לארגן תקשורת בין תהליכים באשכול ומופעל בעיקר בצמתים של האשכול. TIPC יכול לעבוד גם על Ethernet וגם על UDP (יציאת רשת 6118).

בעבודה על Ethernet, ניתן לבצע התקפה מהרשת המקומית, ובשימוש ב-UDP, מהרשת הגלובלית, אם היציאה אינה מכוסה על ידי חומת אש. ההתקפה יכולה להתבצע גם על ידי משתמש מקומי ללא הרשאות על המארח. כדי להפעיל את TIPC, עליך לטעון את מודול ליבת tipc.ko ולהגדיר כריכה לממשק רשת באמצעות netlink או כלי השירות tipc.

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

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

הבאג שיצר את הפגיעות הוצג ב-15 ביוני 2016 והפך לחלק מהקרנל של Linux 4.8. פגיעות תוקן בגרסאות ליבה לינוקס 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 ו-4.9.301.

פגיעות נוספת אשר נמצא בליבת לינוקס הוא CVE-2022-24122 בקוד לטיפול באילוצי rlimit במרחבי שמות משתמשים שונים.

הבאג הוצג בשינוי שהתווסף בקיץ 2021, העברת היישום של כמה מונים RLIMIT לשימוש במבנה "ucounts". האובייקטים "ucounts" שנוצרו עבור RLIMIT המשיכו בשימוש לאחר שחרור הזיכרון שהוקצה להם (use-after-free) על ידי הסרת מרחב השמות המשויך אליהם, מה שאפשר להשיג ביצוע ברמת הקרנל של הקוד שלהם.

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

כפתרון עוקף לחסימת הפגיעות, תוכל להשבית גישה ללא הרשאות למרחב השמות של המשתמש:

sysctl -w kernel.unprivileged_userns_clone=0

הבעיה קיים מאז ליבת לינוקס 5.14 ויתוקן בעדכוני 5.16.5 ו-5.15.19. הענפים היציבים של דביאן, אובונטו, SUSE/openSUSE ו-RHEL אינם מושפעים מהבעיה, אלא מופיעים בליבת Fedora ו-Arch Linux חדשים.


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

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

*

*

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