Pesquisadores de segurança da Skyler Ferrante descobriram uma falha no Linux, mais especificamente, um erro no pacote util-linux que permite atacantes sem acesso privilegiado a roubar senhas e mudar a alterar a área de transferência das vítimas. O problema atinge principalmente servidores.
Nomeado CVE-2024-28085, apelidado de WallEscape, a falha no Linux está presente em todas as edições do util-linux lançadas nos últimos 11 anos, tendo sido corrigido recentemente na versão 2.40. Embora crítica, a falha depende de condições específicas para ocorrer. O atacante precisa ter acesso a um servidor com múltiplos usuários conectados, o utilitário “mesg” deve estar ativo e o comando wall, ter permissões setgid. Segundo os pesquisadores, o Ubuntu 22.04 LTS e o Debian 12.5 atendem a essas condições, enquanto o CentOS, não.
O WallEscape impacta o comando wall, que tipicamente é utilizado em sistemas Linux para transmitir mensagens de terminal de múltiplos usuários conectados a um mesmo sistema, como frequentemente ocorre em servidores.
Segundo o portal BleepingComputer, a prova de conceito do WallEscape demonstrou no GNOME Terminal, que é possível criar falsos prompts do comando SUDO para enganar outros usuários que estão acessando o servidor, a senha digitada poderá ser encontrada no arquivo /proc/$pid/cmdline, que é visível mesmo sem permissões privilegiadas em diversas distros Linux.
O atacante precisa ter cuidado na hora e criar o script para passar despercebido, pois a mensagem enviada à vítima pode conter informações que denotam o ataque. Para isso, ele pode alterar a cor do texto para ficar igual ao fundo.
Dependendo do emulador de terminal utilizado (o do GNOME não está incluso), o atacante consegue até mesmo alterar o conteúdo da área de transferência de outros usuários utilizando a vulnerabilidade.
Para tudo funcionar, o atacante precisa de acesso físico ou remoto via SSH ao servidor, cenário comum em servidores organizacionais. Sendo assim, quem atende às condições para o ataque deve se apressar para atualizar o linux-utils à versão 2.40, que está começando a ser disponibilizada pelo canal padrão de várias distros. Administradores de sistemas ainda não atualizados podem mitigar o erro removendo as permissões setgid do comando wall.
Recentemente, outra falha, na biblioteca XZ Utils, utilizada por várias distros Linux foi encontrada, mas naquele caso, há fortes indícios de ter sido sabotagem intencional. Saiba mais.