גילה פגיעות ביישום TIPC של ליבת לינוקס

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

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

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

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

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

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

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

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

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

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

הפגיעות מתוקנת בקרנלים 5.15.0, 5.10.77 ו-5.14.16, למרות שהבעיה מופיעה ועדיין לא תוקנה בדביאן 11, אובונטו 21.04 / 21.10, SUSE (בסניף SLE15-SP4 עדיין לא שוחרר), RHEL (עדיין לא מפורט אם הפתרון הפגיע עודכן) ו-Fedora.

למרות עדכון ליבה כבר שוחרר עבור Arch Linux והפצות עם ליבות לפני 5.10, כגון Debian 10 ו-Ubuntu 20.04, אינן מושפעות.

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


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

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

*

*

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