מספר נקודות תורפה נמצאו במנהל המקשים החמים של Wayland

לפני כמה ימים פורסמה הידיעה כי נמצאו מספר נקודות תורפה ב-swhkd (Simple Wayland HotKey Daemon) שנגרם מטיפול לא נכון בקבצים זמניים, אפשרויות שורת הפקודה ושקעי יוניקס.

התוכנית כתובה ב-Rust ומטפלת במקשים חמים בסביבות המבוססות על פרוטוקול Wayland (אנלוגי תואם קבצי תצורה של תהליך sxhkd המשמש בסביבות מבוססות X11). החבילה כוללת תהליך swhks ללא פריבילגיה המבצע פעולות עבור מקשי קיצור ותהליך רקע swhkd שפועל כ-root ומקיים אינטראקציה עם התקני קלט ברמת uinput API. כדי לארגן את האינטראקציה בין swhks ו- swhkd, נעשה שימוש בשקע יוניקס.

הכללים של Polkit מאפשרים לכל משתמש מקומי להפעיל את התהליך /usr/bin/swhkd כ-root ולהעביר אליו פרמטרים שרירותיים.

השילוב של חבילת RPM שהוגשה עבור openSUSE Tumbleweed הכילה חוקי Polkit יוצאי דופן ב- קובץ ההגדרה שדרש סקירה על ידי צוות האבטחה של SUSE.

כתוצאה מהסקירה זוהו מספר בעיות אבטחה. בעיות בודדות מתוארות בדוח המפורט למטה.

של נקודות תורפה שזוהו, מוזכרים הבאים:

CVE-2022-27815

פגיעות זו מאפשר לשמור PID תהליך בקובץ עם שם צפוי ובספרייה ניתנת לכתיבה למשתמשים אחרים (/tmp/swhkd.pid), לפיה כל משתמש יכול ליצור קובץ /tmp/swhkd.pid ולהכניס לתוכו את ה-pid של תהליך קיים, מה שלא יאפשר להתחיל swhkd.

בהיעדר הגנה מפני יצירת קישורים סמליים ב-/tmp, ניתן להשתמש בפגיעות כדי ליצור או להחליף קבצים בכל ספרייה במערכת (ה-PID נכתב לקובץ) או לקבוע את התוכן של כל קובץ במערכת (swhkd מוציא את כל התוכן של קובץ ה-PID ל-stdout). יש לציין שבתיקון ששוחרר, קובץ ה-PID לא הועבר לספריית /run, אלא לספריית /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), שם הוא גם לא שייך .

CVE-2022-27814

פגיעות זו מאפשר לך לתפעל את אפשרות שורת הפקודה "-c" כדי לציין קובץ תצורה יכול לקבוע את קיומו של כל קובץ במערכת.

כמו במקרה של הפגיעות הראשונה, תיקון הבעיה הוא תמוה: תיקון הבעיה מסתכם בעובדה שהכלי החיצוני "חתול" ("Command::new("/bin/cat").arg(path) הוא מופעל כעת כדי לקרוא את הקובץ config file.output()').

CVE-2022-27819

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

לדוגמה, כדי לגרום למניעת שירות עקב אזל הזיכרון הפנוי ויצירת I/O תועה, אתה יכול לציין התקן חסימה בעת ההפעלה ("pkexec /usr/bin/swhkd -d -c /dev/sda ») או מכשיר אופי שפולט זרם אינסופי של נתונים.

הבעיה נפתרה על ידי איפוס ההרשאות לפני פתיחת הקובץ, אך הפתרון לא הושלם מכיוון שרק מזהה המשתמש (UID) מאופס, אך מזהה הקבוצה (GID) נשאר זהה.

CVE-2022-27818

פגיעות זו מאפשר לך להשתמש בקובץ /tmp/swhkd.sock ליצירת שקע Unix, שנוצר בספרייה ציבורית הניתנת לכתיבה, מה שגורם לבעיות דומות לפגיעות הראשונה (כל משתמש יכול ליצור /tmp/swhkd.sock וליצור או ליירט אירועים של לחיצה על מקשים).

CVE-2022-27817

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

CVE-2022-27816

תהליך swhks, כמו swhkd, משתמש בקובץ PID /tmp/swhks.pid בספריית /tmp הניתנת לכתיבה לציבור. הבעיה דומה לפגיעות הראשונה, אך לא מסוכנת באותה מידה, מכיוון ש-swhks פועל תחת משתמש שאינו בעל הרשאה.

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


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

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

*

*

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