Ilang araw na ang nakalipas ay inilabas ang impormasyon tungkol sa a kritikal na kahinaan, na kinilala sa ilalim ng "CVE-2025-49091«. Ang kahinaan na ito natuklasan sa Konsole (ang KDE terminal emulator), ay nagbibigay-daan sa remote code execution sa pamamagitan lamang ng pagbisita sa isang malisyosong web page mula sa isang browser.
Nabanggit na ang problemang ito nakakaapekto sa mga system kung saan ang KtelnetService at isang masusugatan na bersyon ng Konsole ay naka-install, ngunit hindi bababa sa isa sa mga telnet, rlogin, o ssh program ang hindi naka-install. Ang kahinaan ay matatagpuan sa KDE Terminal Emulator console. Gaya ng nabanggit sa KDE advisory, ang mga bersyon ng Konsole bago ang 25.04.2 ay mahina.
Sinusuportahan ng Konsole ang paglo-load ng mga URL mula sa mga controller ng schema tulad ng
telnet://URL. Maaari itong patakbuhin kahit na ang telnet
Ang binary ay magagamit.Sa mode na ito, may ruta ang Konsole kung saan, kung hindi available ang Telnet,
gagamit muli ng bash para sa mga ibinigay na argumento; alin
ay ang ibinigay na URL. Nagbibigay-daan ito sa isang attacker na magsagawa ng arbitrary code.
codeAng mga browser ay karaniwang nagpapakita ng mensahe kapag ang isang user ay nagbukas ng isang panlabas na browser.
Schema controller na maaaring mukhang kahina-hinala at nangangailangan ng pakikipag-ugnayan ng user
maging mapagsamantala.
Ang pinagmulan ng problema: KtelnetService at mapanganib na mga scheme ng URL
Napansin ng mga mananaliksik na ang problema sa likod ng kahinaang ito ay nakasalalay sa pag-uugali ng serbisyo ng KTelnetService, na kasama bilang default sa KDE. Ang serbisyong ito ay responsable para sa pagproseso ng telnet://, rlogin://, at ssh:// na mga scheme ng URL, at idinisenyo upang buksan ang mga link na ito nang direkta sa Konsole gamit ang kaukulang mga utility (telnet, rlogin, o ssh).
Gayunpaman, ang kapintasan ay nangyayari kapag ang mga utility na ito ay hindi naka-install sa system. Sa kasong iyon, ang Konsole, kapag sinusubukang isagawa ang utos na ipinahiwatig sa link, ay gumagamit ng /bin/bash bilang kapalit. Samakatuwid, ang isang umaatake ay maaaring bumuo ng isang pasadyang link.
Bagama't ito ay tila hindi gaanong mahalaga sa unang tingin, ang problema ay pinalala dahil ang umaatake ay maaaring magsagawa ng anumang file sa direktoryo ng pag-download ng user gamit ang custom na command. Sa madaling salita, ang anumang file ay awtomatikong ipapatupad kung ang gumagamit ay nag-click sa isang link na may ganoong pamamaraan.
Bakit napakadelikado nito?
Ang mga modernong browser tulad ng Firefox at Chrome (sa kanilang mga default na setting) ay awtomatikong nagse-save ng mga na-download na file sa ~/Downloads folder, nang hindi nangangailangan ng kumpirmasyon ng user. Nagpapakita lang sila ng notification pagkatapos makumpleto ang pag-download.
Ang pag-uugali na ito, na sinamahan ng katotohanan na sa mga sistema ng Linux ay posible na ma-access ang kasalukuyang path ng direktoryo ng browser, ay nagbibigay-daan sa isang awtomatikong na-download na malisyosong file na pagkatapos ay maisakatuparan mula sa Konsole nang hindi nalalaman ng user.
Proof of Concept (PoC): Paano pinagsasamantalahan ang kahinaan
Upang ipakita ang panganib ng kapintasan, ginawa ng mga mananaliksik ang sumusunod na JavaScript code snippet, na nagpapakita kung paano maaaring samantalahin ng isang attacker ang kahinaang ito mula sa isang web page:
<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>
Sa Firefox at Chrome, kung tatanggapin ng user ang telnet:// link, ang sumusunod ay ipapatawag:
/usr/bin/konsole --noclose -e telnet /proc/self/cwd/Descargas/evil
At, kung wala ang telnet, ang malisyosong script ay isasagawa gamit ang bash.
Mga pansamantalang hakbang sa pagpapagaan
Habang naghihintay para sa patch o kung hindi ka makapag-update kaagad, mayroong dalawang simpleng paraan upang mabawasan ang problema:
I-install ang telnet, rlogin, at ssh utilities
Kung ang mga utility na ito ay naroroon, ang Konsole ay tatawagin ang mga ito nang tama at hindi gagamitin ang bash. Pinipigilan nito ang arbitrary na nilalaman na maisakatuparan bilang isang script.
sudo apt install telnet rlogin openssh-client
Tanggalin ang KtelnetService service file
Maaari mong tanggalin ang file na responsable sa pagrehistro ng mga scheme na ito:
sudo rm /usr/share/applications/ktelnetservice6.desktop
Pipigilan nito ang mga link na telnet://, rlogin://, o ssh:// na awtomatikong mapangasiwaan ng Konsole.
Solusyon: Agarang pag-update sa Konsole 25.04.2
Ang kahinaan ay naayos sa Konsole na bersyon 25.04.2, kasama sa KDE Gear 25.04.2 update. Lahat ng mga user at system administrator ay mahigpit na pinapayuhan na mag-update kaagad.
Sa wakas, kung interesado kang malaman ang higit pa tungkol dito, maaari mong konsultahin ang mga detalye sa sumusunod na link.