Vulnerabilidade no xterm que leva à execução de código ao processar determinadas strings

Uma vulnerabilidade (CVE-2022-45063) foi identificada no emulador de terminal xterm, que permite que comandos shell sejam executados quando certas sequências de escape são processadas no terminal. Para um ataque no caso mais simples, basta exibir o conteúdo de um arquivo especialmente projetado, por exemplo, usando o utilitário cat, ou colar uma linha da área de transferência. printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

O problema é causado por um erro no tratamento da sequência de escape do código 50 usada para definir ou recuperar opções de fonte. Se a fonte solicitada não existir, a operação retornará o nome da fonte especificada na solicitação. Você não pode inserir caracteres de controle diretamente no nome, mas a string retornada pode ser finalizada com a sequência "^G", que em zsh, quando o modo de edição de linha no estilo vi está ativo, faz com que uma operação de expansão de lista seja executada, o que pode ser usado para executar comandos sem pressionar explicitamente a tecla Enter.

Para explorar a vulnerabilidade com sucesso, o usuário deve usar o shell de comando Zsh com o editor de linha de comando (modo vi-cmd) definido para o modo “vi”, que geralmente não é usado por padrão em distribuições. O problema também não aparece quando as configurações do xterm permitirWindowOps=false ou permitirFontOps=false são definidas. Por exemplo, allowFontOps=false é definido no OpenBSD, Debian e RHEL, mas não é aplicado por padrão no Arch Linux.

A julgar pela lista de alterações e pelo depoimento do pesquisador que identificou o problema, a vulnerabilidade foi corrigida no lançamento do xterm 375, mas segundo outras fontes, a vulnerabilidade continua aparecendo no xterm 375 do Arch Linux. Você pode acompanhar a publicação de correções por distribuições nestas páginas: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Fonte: opennet.ru

Adicionar um comentário