הם מצאו פגיעות בתת-מערכת eBPF המאפשרות ביצוע קוד ברמת הליבה 

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

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

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

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

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

התגלה כי eBPF ALU32 מגביל מעקב לפעולות סיביות (AND, OR ו- XOR) מגבלות 32 סיביות לא עודכנו.

מנפרד פול (@_manfp) מצוות CTF RedRocket (@redrocket_ctf) עובד איתויוזמת Zero Day של טרנד מיקרו גילתה כי פגיעות זו זה יכול להפוך לקריאה וכתיבה מחוץ לתחום בגרעין. זה היה דווח כ- ZDI-CAN-13590 והוקצה CVE-2021-3490.

  • CVE-2021-3490: הפגיעות נובעת מהיעדר אימות מחוץ לתחום עבור ערכי 32 סיביות בעת ביצוע פעולות AND, OR ו- XOR סיביות ב- eBPF ALU32. תוקף יכול לנצל את הבאג הזה כדי לקרוא ולכתוב נתונים מחוץ לגבולות המאגר שהוקצה. הבעיה בפעולות XOR קיימת מאז ליבת 5.7-rc1, ו- AND ו- OR מאז 5.10-rc1.
  • CVE-2021-3489: הפגיעות נגרמת על ידי באג ביישום חוצץ הטבעת וקשורה לעובדה שהפונקציה bpf_ringbuf_reserve לא בדקה את האפשרות שגודל אזור הזיכרון שהוקצה קטן מהגודל האמיתי של חיץ ringbuf. הבעיה ניכרה מאז שחרורו של 5.8-rc1.

בנוסף, אנו יכולים גם לראות פגיעות נוספת בליבת הלינוקס: CVE-2021-32606, אשר מאפשר למשתמש מקומי להעלות את ההרשאות שלו לרמת השורש. הבעיה באה לידי ביטוי מאז הליבה של לינוקס 5.11 ונגרמת על ידי תנאי מרוץ ביישום פרוטוקול CAN ISOTP, המאפשר לשנות את פרמטרי כריכת השקעים בגלל חוסר תצורה של המנעולים המתאימים ב- i.sotp_setsockopt () כאשר הדגל מעובד CAN_ISOTP_SF_BROADCAST.

פעם ה שקע, ISOTP ממשיך להיקשר לשקע המקלט, אשר יכול להמשיך להשתמש במבנים המשויכים לשקע לאחר שחרור הזיכרון המשויך (שימוש אחרי חינם בגלל קריאת המבנה isotp_sock כבר שוחרר כשאני מתקשרsotp_rcv(). על ידי מניפולציה בנתונים, תוכלו לעקוף את המצביע לפונקציה sk_error_report () והפעל את הקוד שלך ברמת הליבה.

ניתן לעקוב אחר סטטוס התיקונים לפגיעויות בהפצות בדפים אלה: אובונטו, דביאן, רהל, פדורה, SUSE, קשת).

התיקונים זמינים גם כתיקונים (CVE-2021-3489 ו- CVE-2021-3490). ניצול הבעיה תלוי בזמינות השיחה למערכת eBPF למשתמש. לדוגמא, בתצורת ברירת המחדל ב- RHEL, ניצול הפגיעות מחייב את המשתמש בעל הרשאות CAP_SYS_ADMIN.

בסופו של דבר אם אתה רוצה לדעת יותר על זה, אתה יכול לבדוק את הפרטים בקישור הבא.


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

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

*

*

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