לפני מספר ימים פורסם מידע על פגיעות קריטית, אשר זוהה תחת "CVE-2025-49091«. פגיעות זו התגלה בקונסולה (אמולטור הטרמינל של KDE), מאפשר ביצוע קוד מרחוק פשוט על ידי ביקור בדף אינטרנט זדוני מדפדפן.
מוזכר כי בעיה זו משפיע על מערכות בהן KTelnetService וגרסה פגיעה של Konsole מותקנים, אך לפחות אחת מתוכניות ה-telnet, rlogin או ssh אינה מותקנת. הפגיעות ממוקמת בקונסולת אמולטור הטרמינל של KDE. כפי שצוין בייעוץ של KDE, גרסאות Konsole קודמות לגרסה 25.04.2 פגיעות.
קונסול תומך בטעינת כתובות URL מבקרי סכימה כמו
telnet://URL. ניתן להפעיל זאת ללא קשר לשאלה האם ה-telnet
הקובץ הבינארי זמין.במצב זה, ל-Konsole היה נתיב שבו, אם Telnet לא היה זמין,
ישתמש שוב ב-bash עבור הארגומנטים שסופקו; אשר
הוא כתובת האתר שסופקה. זה מאפשר לתוקף לבצע קוד שרירותי.
קוד.דפדפנים בדרך כלל מציגים הודעה כאשר משתמש פותח דפדפן חיצוני.
בקר סכימה שעשוי להיראות חשוד ולדרוש התערבות משתמש
להיות ניתן לניצול.
מקור הבעיה: KTelnetService וסכמות URL מסוכנות
חוקרים מציינים כי הבעיה מאחורי פגיעות זו טמונה בהתנהגות שירות KTelnetService, הכלול כברירת מחדל ב-KDE. שירות זה אחראי על עיבוד סכמות ה-URL telnet://, rlogin:// ו-ssh://, והוא נועד לפתוח קישורים אלה ישירות ב-Konsole באמצעות כלי השירות המתאימים (telnet, rlogin או ssh).
עם זאת, הפגם מתרחש כאשר כלי עזר אלה אינם מותקנים במערכת. במקרה כזה, Konsole, כאשר היא מנסה לבצע את הפקודה המצוינת בקישור, משתמשת ב-/bin/bash כתחליף. לכן, תוקף יכול לבנות קישור מותאם אישית.
למרות שזה נראה חסר משמעות במבט ראשון, הבעיה מחמירה משום שהתוקף יכול להריץ כל קובץ בתיקיית ההורדות של המשתמש באמצעות הפקודה המותאמת אישית. במילים אחרות, כל קובץ מופעל אוטומטית אם המשתמש לוחץ על קישור עם סכימה זו.
למה זה כל כך מסוכן?
דפדפנים מודרניים כמו פיירפוקס וכרום (בהגדרות ברירת המחדל שלהם) שומרים אוטומטית קבצים שהורדו לתיקייה ~/Downloads, מבלי לדרוש אישור מהמשתמש. הם מציגים הודעה רק לאחר השלמת ההורדה.
התנהגות זו, בשילוב עם העובדה שבמערכות לינוקס ניתן לגשת לנתיב הספרייה הנוכחי של הדפדפן, מאפשרת להריץ קובץ זדוני שהורד אוטומטית מ-Konsole ללא ידיעת המשתמש.
הוכחת היתכנות (PoC): כיצד מנוצלת הפגיעות
כדי להדגים את הסכנה שבפגם, החוקרים יצרו את קטע קוד ה-JavaScript הבא, המדגים כיצד תוקף יכול לנצל פגיעות זו מדף אינטרנט:
<html> <head> <script type="text/javascript"> function downloadAndRedirect() { const anchor = document.createElement('a'); anchor.href = "data:;base64,ZWNobyAiSGVsbG8gd29ybGQiCnRvdWNoIC90bXAvZm9vYmFyCg=="; anchor.download = 'evil'; document.body.appendChild(anchor); anchor.click(); document.body.removeChild(anchor); setTimeout(() => { window.location.href = "telnet:///proc/self/cwd/Downloads/evil"; }, 1000); } </script> </head> <body onload="downloadAndRedirect()"> </body> </html>
בפיירפוקס ובכרום, אם המשתמש מקבל את הקישור telnet://, יופעלו הפעולות הבאות:
/usr/bin/konsole --noclose -e telnet /proc/self/cwd/Descargas/evil
ואם telnet אינו קיים, הסקריפט הזדוני יבוצע באמצעות bash.
אמצעי הפחתה זמניים
בזמן ההמתנה לתיקון או אם אינך יכול לעדכן באופן מיידי, ישנן שתי דרכים פשוטות לצמצם את הבעיה:
התקן את כלי השירות telnet, rlogin ו-ssh
אם כלי עזר אלה קיימים, Konsole יפעיל אותם כהלכה ולא יפנה ל-bash. זה מונע ביצוע תוכן שרירותי כסקריפט.
sudo apt install telnet rlogin openssh-client
מחק את קובץ השירות KTelnetService
ניתן למחוק את הקובץ האחראי על רישום הסכמות הללו:
sudo rm /usr/share/applications/ktelnetservice6.desktop
פעולה זו תמנע טיפול אוטומטי בקישורים telnet://, rlogin:// או ssh:// על ידי Konsole.
פתרון: עדכון דחוף ל-Konsole 25.04.2
הפגיעות תוקנה בגרסה 25.04.2 של Konsole, הכלולה בעדכון 25.04.2 של KDE Gear. מומלץ מאוד לכל המשתמשים ומנהלי המערכת לעדכן באופן מיידי.
לבסוף, אם אתה מעוניין לדעת יותר על זה, אתה יכול לעיין בפרטים ב הקישור הבא.