NOTÍCIAS

[ANONYMOUS][grids]

Desktops Linux KDE podem ser invadidos sem abrir arquivos maliciosos

Existe uma vulnerabilidade de dia zero não corrigida no KDE 4 & 5 que pode permitir que invasores executem códigos simplesmente enganando o usuário para fazer o download de um arquivo, extraí-lo e depois abrir a pasta.
BleepingComputer foi contatado pelo pesquisador de segurança Dominik Penner sobre uma nova vulnerabilidade que ele divulgou para o ambiente de desktop Linux KDE.
"O KDE 4/5 é vulnerável a uma vulnerabilidade de injeção de comando na classe KDesktopFile. Quando um arquivo .desktop ou .directory é instanciado, ele avalia de forma não segura variáveis ​​de ambiente e expansões de shell usando KConfigPrivate :: expandString () via KConfigGroup :: readEntry ( ) Usando um arquivo .desktop especialmente criado, um usuário remoto pode ser comprometido simplesmente baixando e visualizando o arquivo em seu gerenciador de arquivos, ou arrastando e soltando um link dele em seus documentos ou área de trabalho. "
De acordo com Penner, esta vulnerabilidade existe nas versões 4 e 5 do KDE e permite que os comandos incorporados nos arquivos .desktop e .directory sejam executados simplesmente abrindo uma pasta ou, em alguns casos, extraindo um arquivo para a área de trabalho.
Penner relatou o bug para o Ubuntu depois de divulgá-lo publicamente. O pesquisador originalmente não reportou como "queria abandonar um 0 dia para a Defcon que as pessoas pudessem experimentar".
Quase todas as distribuições Linux estão atualmente utilizando versões vulneráveis ​​do KDE.

A expansão do shell leva à execução de código

Ambientes de desktop compatíveis com o Freedesktop.org utilizam arquivos especiais .desktop e .directory que são usados ​​para configurar como os aplicativos e pastas são exibidos.
Um arquivo .desktop é usado para registrar um aplicativo no menu do KDE, enquanto os arquivos .directory são usados ​​para descrever como o KDE deve exibir uma pasta. Para usuários do Windows. o arquivo .directory é semelhante ao arquivo desktop.ini.
Em cada um desses arquivos há vários campos que informam ao ambiente de área de trabalho como um diretório ou aplicativo deve aparecer. Um desses campos é chamado de "Icon" e em arquivos .desktop ele especifica o caminho para o ícone que o KDE deve exibir nos menus e para arquivos .directory ele especificará o ícone usado para uma pasta quando visualizado no Dolphin.
Em conversas com o BleepingComputer, Penner explicou que o problema é que o KDE permite que a expansão do shell seja usada para gerar dinamicamente o valor desses campos através de uma variável de ambiente ou executando um comando.
"Eles usam a mesma sintaxe da especificação do freedesktop, mas eles também permitem a expansão do shell (o freedesktop não permite isso ifself), é explorável. É mais uma falha de design do que qualquer coisa, a sintaxe de configuração para .desktop e .directory os arquivos devem ser consistentes com as especificações do XDG (freedesktop).
E sim, qualquer entrada pode ser injetada. Teoricamente, isso poderia ser explorado em muitas outras áreas, no entanto, é mais fácil obter a entrada lida por meio de ícones "
Como esses tipos de arquivos são lidos automaticamente quando visualizados no Dolphin ou na área de trabalho, ele permite que um invasor crie pastas maliciosas .desktop e .directory que executam comandos localizados no campo "Icon".
Quando perguntado se existe uma maneira de mitigar essa falha, Penner nos disse que a correção tem que vir do KDE e que a desativação de pré-visualizações de arquivos também não ajuda.
"Mesmo se você desativasse as visualizações de arquivos nas propriedades de exibição do gerenciador de arquivos, ele ainda seria acionado."

Testando a falha

Nos testes conduzidos pela BleepingComputer, essa falha é ridiculamente fácil de abusar para executar o código em máquinas vulneráveis.
Em nosso teste, simplesmente criamos um arquivo ZIP que contém uma subpasta com um arquivo .directory. O campo Icon deste arquivo de diretório contém um comando para baixar um script test.sh de nossos servidores e executá-lo para iniciar o Kcalc.

Quando o usuário faz o download do arquivo test.zip, o extrai e o abre, o KDE lerá o arquivo .directory e executará o comando atribuído ao campo Icon. Você pode ver uma demonstração deste PoC em ação abaixo.
Penner também criou um vídeo de demonstração mostrando como esse bug pode ser usado para abrir um shell reverso.
No momento, não há como desativar a expansão do shell para atenuar essa falha. Penner recomenda que os usuários verifiquem quaisquer arquivos .desktop ou .directory e desabilitem quaisquer entradas dinâmicas.
O BleepingComputer entrou em contato com o Ubuntu e o Fedora sobre este bug, mas não tinha ouvido de volta no momento desta publicação.