Detectada uma vulnerabilidade no xterm que leva à execução do código

Vulnerabilidade

Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas

Recentemente, a notícia de que uma vulnerabilidade foi encontrada no emulador de terminal xterm (já catalogado sob CVE-2022-45063), o problema permite a execução de comandos shell quando certas sequências de escape são processadas no terminal.

Sobre o problema é mencionado que é devido a um erro no processamento do código de escape 50 que é usado para definir ou obter opções de fonte. Se a fonte solicitada não existir, a operação retornará o nome da fonte especificada na solicitação.

O problema está na sequência OSC 50, que é para configurar e consultar a fonte. Se uma determinada fonte não existe, ela não é definida, mas uma consulta retornará o nome que foi definido. Os caracteres de controle não podem ser incluído, mas a string de resposta pode ser encerrada com ^G. Leste essencialmente nos dá um primitivo para retornar o texto ao terminal e terminando com ^G.

Os caracteres de controle não podem ser inseridos diretamente no nome, mas a string retornada pode ser encerrada com a sequência "^G", que em zsh, quando o modo de edição de linha estilo vi está ativo, faz com que uma operação de expansão de lista seja executada, que pode ser usada para executar comandos sem pressionar explicitamente a tecla enter.

Para um ataque no caso mais simples, basta exibir o conteúdo de um arquivo especialmente projetado na tela, por exemplo, usando o utilitário cat ou colando uma linha da área de transferência.

Debian, Red Hat e outros desativam as operações de fonte por padrão , mas os usuários podem reativá-los através de um menu de opção ou configuração. Além disso, upstream xterm faz não os desabilita por padrão, então algumas distribuições incluem um Configuração padrão vulnerável.

Para explorar com êxito a vulnerabilidade, o usuário deve usar o shell Zsh com o editor de linha de comando (vi-cmd-mode) alterado para o modo "vi", que geralmente não é usado por padrão em distribuições.

Basicamente, precisamos:
zsh
modo de edição de linha ativa no estilo vi
copie o texto do trojan para a área de transferência
cole no zsh

Isso pode ser feito automaticamente, muitos sites modificam o texto quando ele é copiado para a área de transferência. Portanto, utilizo apenas o buffer de seleção, que não é acessado pelos navegadores. Só no gtk3 e no ff em particular eles quebram constantemente por algum motivo, é cansativo.

O problema também não aparece quando xterm é definido como allowWindowOps=false ou allowFontOps=false. Por exemplo, a configuração permitirFontOps=falso ele é definido no OpenBSD, Debian e RHEL, mas não é aplicado por padrão no Arch Linux.

De acordo com o change log e a declaração do pesquisador que identificou o problema, a vulnerabilidade corrigido na versão xterm 375, mas de acordo com outras fontes, a vulnerabilidade continua a se manifestar no xterm 375 do Arch Linux.

Isso significa que, para explorar essa vulnerabilidade, o usuário deve ser
usando Zsh no modo de edição de linha vi (geralmente via $EDITOR que tem "vi" em
isso). Embora um tanto obscuro, isso não é totalmente inédito.
configuração.

Nessa configuração, algo como:
printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063
cat cve-2022-45063 # ou outra forma de entregar isso para a vítima

Por fim, como sempre, recomenda-se aos usuários dos sistemas afetados que mantenham seus sistemas atualizados, pois como você saberá quando as vulnerabilidades de segurança são conhecidas, os desenvolvedores devem corrigir esses bugs, pois muito de como esses bugs podem ser explorados é divulgado.

Cabe mencionar que as operações de fonte não são permitidas nas configurações padrão do x termo de algumas distribuições Linux, portanto, nem todas as distribuições são propensas a esse bug. Os interessados ​​em acompanhar a publicação das correções por distribuições podem fazê-lo nestas páginas: DebianRHELFedoraSUSEUbuntuArch LinuxOpenBSDFreeBSDNetBSD.

Se você interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.