Сериозна уязвимост в Konsole позволява изпълнението на код само чрез отваряне на уеб страница

Уязвимост

Преди няколко дни беше публикувана информация за критична уязвимост, което беше идентифицирано под „CVE-2025 49091-«. Тази уязвимост открит в Консоле (емулаторът на терминала на KDE) позволява дистанционно изпълнение на код само чрез посещение на злонамерена уеб страница от браузър.

Споменава се, че този проблем засяга системи, където KTelnetService и уязвима версия на Konsole са инсталирани, но поне една от програмите telnet, rlogin или ssh не е инсталирана. Уязвимостта се намира в конзолата на KDE Terminal Emulator. Както е отбелязано в съобщението за 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. На всички потребители и системни администратори се препоръчва незабавно да актуализират.

И накрая, ако се интересувате да научите повече за него, можете да се консултирате с подробностите в следваща връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.