לאחרונה החדשות פרצו זאת נמצאה פגיעות באמולטור המסוף xterm (כבר מקוטלג תחת CVE-2022-45063), הבעיה מאפשר ביצוע פקודות מעטפת כאשר רצפי בריחה מסוימים מעובדים בטרמינל.
לגבי הבעיה מוזכר ש נובע משגיאה בעיבוד של קוד בריחה 50 המשמש להגדיר או לקבל אפשרויות גופנים. אם הגופן המבוקש אינו קיים, הפעולה מחזירה את שם הגופן שצוין בבקשה.
הבעיה היא ברצף OSC 50, המיועד להגדרה וייעוץ המזרקה. אם מקור נתון לא קיים, הוא לא מוגדר, אלא שאילתה יחזיר את השם שהוגדר. תווי בקרה לא יכולים להיות כלול, אך ניתן לסיים את מחרוזת התגובה עם ^G. מזרח בעצם נותן לנו פרימיטיבי להחזיר את הטקסט למסוף וכלה ב-^G.
לא ניתן להוסיף תווי בקרה ישירות בשם, אבל את המחרוזת המוחזרת ניתן לסיים עם הרצף "^G", אשר ב-zsh, כאשר מצב עריכת קו בסגנון vi פעיל, גורם לביצוע פעולת הרחבת רשימה, אשר ניתן להשתמש בה לביצוע פקודות ללא לחיצה מפורשת על מקש Enter.
להתקפה במקרה הפשוט ביותר, זה מספיק כדי להציג את התוכן של קובץ שעוצב במיוחד על המסך, למשל, באמצעות כלי השירות לחתול, או הדבקת שורה מהלוח.
Debian, Red Hat ואחרים משביתים פעולות גופנים כברירת מחדל , אך משתמשים יכולים להפעיל אותם מחדש דרך תפריט אפשרויות או תצורה. כמו כן, במעלה הזרם xterm כן אינו משבית אותם כברירת מחדל, כך שחלק מההפצות כוללות א תצורת ברירת מחדל פגיעה.
כדי לנצל בהצלחה את הפגיעות, המשתמש חייב להשתמש במעטפת Zsh כאשר עורך שורת הפקודה (vi-cmd-mode) שונה למצב "vi", שבדרך כלל אינו בשימוש כברירת מחדל בהפצות.
בעיקרון, אנחנו צריכים:
ZSH
מצב עריכת קו פעיל בסגנון vi
העתק את הטקסט של הטרויאני ללוח
הדבק אותו ב-zshניתן לעשות זאת באופן אוטומטי, אתרים רבים משנים את הטקסט כאשר הוא מועתק ללוח. אז אני משתמש רק במאגר הבחירה, שדפדפנים לא ניגשים אליו. רק ב-gtk3 וב-ff בפרט הם כל הזמן נשברים משום מה, זה מתיש.
הבעיה גם לא מופיעה כאשר xterm מוגדר ל allowWindowOps=false או allowFontOps=false. לדוגמה, התצורה allowFontOps=false הוא מוגדר על OpenBSD, Debian ו-RHEL, אך אינו נאכף כברירת מחדל על Arch Linux.
לפי יומן השינויים והצהרת החוקר שזיהה את הנושא, הפגיעות תוקן בגרסת xterm 375, אך לפי מקורות אחרים, הפגיעות ממשיכה להתבטא ב-xterm 375 של Arch Linux.
המשמעות היא שכדי לנצל את הפגיעות הזו, המשתמש חייב להיות
שימוש ב-Zsh במצב עריכת קו vi (בדרך כלל באמצעות $EDITOR שבו יש "vi".
שֶׁלָה). למרות שזה מעט מעורפל, זה לא לגמרי בלתי נשמע.
תצורהבהגדרה הזו, משהו כמו:
printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063
cat cve-2022-45063 # או דרך אחרת להעביר זאת לקורבן
לבסוף, כמו תמיד, מומלץ למשתמשים של מערכות מושפעות לשמור על המערכות שלהם מעודכנות, מכיוון שכפי שתדע כאשר ידועות פרצות אבטחה, מפתחים חייבים לתקן את הבאגים הללו, מכיוון שחלק גדול מהאופן שבו ניתן לנצל את הבאגים הללו נחשף.
ראוי להזכיר זאת פעולות גופנים אינן מותרות בהגדרות ברירת המחדל של xterm של כמה הפצות לינוקס, אז לא כל ההפצות מועדות לבאג זה. למעוניינים לעקוב אחר פרסום התיקונים לפי הפצות, הם יכולים לעשות זאת בעמודים אלו: דביאן, רהל, פדורה, SUSE, אובונטו, Arch Linux, OpenBSD, FreeBSD y NetBSD.
אם כן מעוניין לדעת יותר על זה, אתה יכול לבדוק את הפרטים בקישור הבא.