Dobësia në KDE Konsole që lejon ekzekutimin e kodit kur hapet një faqe në shfletues

Në projektin në zhvillim KDE, emulatori i terminalit Konsole ka zbuluar një dobësi (CVE-2025-49091) që lejon ekzekutimin e kodit në sistem kur hapet një faqe e formatuar posaçërisht në shfletues.

Për Konsole, në KDE regjistrohet për default shërbimi KTelnetService (ktelnetservice6.desktop), i cili lidh përpunuesit e URL-së telnet://, rlogin:// dhe ssh:// të hapura në shfletues. Kur përpunohen këto skema në emulatorin e terminalit, aktivizohen mjetet telnet, rlogin dhe ssh, të cilave u jepet rruga e caktuar në lidhje.

Dobësia shkaktohet nga fakti se, nëse në sistem nuk është instaluar mjeteza telnet, rlogin ose ssh, Konsole, gjatë thirrjes së përpunuesit përkatës të URL-së, nisi interpretuesin e komandave bash. Për shembull, nëse telnet mungon, kur hapet në shfletues lidhja 'telnet:///proc/self/cwd/Downloads/evil', në Konsole do të aktivej '/bin/bash /proc/self/cwd/Downloads/evil'. Po ashtu, mund të kryhet një sulm ndaj përpunuesve rlogin:// dhe ssh:// në mungesë të mjeteve rlogin dhe ssh në sistem.

Eksplorimi i dobësive shoqërohet nga fakti se në konfigurimin e parazgjedhur, versionet moderne të Firefox dhe Chrome automatikisht ruajnë skedarët e iniciuar për shkarkim pa e kërkuar miratimin e përdoruesit, duke treguar vetëm një njoftim për ngjarjen e shkarkimit. Në Firefox, kjo sjellje mund të çaktivizohet duke vendosur opsionin "Always ask you where to save files" në faqen e konfigurimit "General > Files and Applications". Në përgjithësi, skedarët ruhen në katalogun ~/Downloads, në të cilin, pa e ditur emrin e përdoruesit aktual, mund të referohemi përmes rrugës skedare "/proc/self/cwd/Downloads/".

Më poshtë është një shembull i kodit JavaScript, i cili, kur ekzekutohet në shfletuesin në mjediset KDE me Konsole, do të ekzekutojë komandat «echo «Hello world»; touch /tmp/foobar» për përdoruesin (në shembull ato janë të koduara në stringun «data:;base64,ZWNobyAiSGVsbG8gd29ybGQiCnRvdWNoIC90bXAvZm9vYmFyCg==»). Kodi i propozuar formon një lidhje me të dhëna të integruara, simulat klikimin mbi këtë lidhje dhe ridrejton përdoruesin në URL-në «telnet://…». Për të punuar në Chrome, duhet të ndryshoni emrin e skedarit në lidhje në evil.txt, pasi Chrome automatikisht shton përfundimin txt. <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>

NĂ« Firefox dhe Chrome, kur pĂ«rpiqeni tĂ« kaloni nĂ« lidhjen "telnet://" do tĂ« shfaqet pĂ«rfolja pĂ«r konfirmimin e veprimit nga pĂ«rdoruesi. NĂ« rastin e pranimit, KTelnetService do tĂ« ekzekutojĂ« komandĂ«n: /usr/bin/konsole —noclose -e telnet /proc/self/cwd/Downloads/evil

Nëse nuk ka utilitarin telnet në sistem, Konsole do të kthehet në ekzekutimin e bash në vend të telnet, duke kaluar argumentin e dhënë fillimisht në komandë.

Problemi është zgjidhur në versionin Konsole 25.04.2, i përfshirë në përditësimin KDE Gear 25.04.2. Mund të ndiqni zgjidhjen e të dhënave të ndjeshmërisë në shpërndarjet e mëposhtme: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch, FreeBSD. Si rruge alternative për të bllokuar ndjeshmërinë, mund të instaloni utilitat telnet, rlogin dhe ssh ose të hiqni skedarin /usr/share/applications/ktelnetservice6.desktop.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster