Loja CHIP7 Portimão

Software

SSHole: uma palavra-passe com mais de 256 caracteres abre a porta de servidores Linux com Alpine — o que fazer se tens um home lab, um NAS ou containers

Depois das falhas PHP2Shell, que até obrigaram a GOG a desligar a loja durante umas horas, há mais uma falha séria para quem tem servidores Linux em casa ou no trabalho. Chama-se SSHole e deixa entrar por SSH em alguns sistemas Linux sem saber a palavra-passe: basta escrever qualquer coisa com 257 a 1024 caracteres.

Quem está em risco

Não são todos os Linux. A falha junta dois problemas — um no OpenSSH, o programa que gere as ligações SSH, e outro na musl, uma biblioteca de base usada por distribuições Linux "leves" — e só funciona quando se juntam várias condições:

  • o servidor usa OpenSSH sobre musl — é o caso do Alpine Linux e, em certas configurações, de Buildroot, Yocto, Void Linux e OpenWrt (que por defeito usa o Dropbear, não o OpenSSH);
  • o OpenSSH corre sem PAM, o sistema de autenticação habitual noutros Linux;
  • o login com palavra-passe está ligado (vem ligado por defeito);
  • há uma conta sem palavra-passe definida (marcada com um asterisco, como o root no Alpine) e outra conta com palavra-passe normal.

O Alpine é o caso mais grave: junta as condições todas por defeito e é usado em milhões de containers Docker, máquinas virtuais, servidores na cloud e equipamentos. A falha recebeu o código CVE-2026-123158 e uma gravidade de 8,1 em 10. O Alpine diz que todas as versões que verificou estão afetadas, da 3.16 à 3.24.

Quem usa Ubuntu, Debian, Fedora ou outro Linux com a biblioteca glibc está a salvo, tal como o Windows. Na prática, a maioria destas instalações não está aberta à internet, mas qualquer pessoa dentro da mesma rede — de uma empresa, de um home lab ou de uma VPN — consegue entrar.

Como se resolve

O OpenSSH já lançou a correção na versão 10.6p2, e o Alpine já tem pacotes atualizados. Se tens um servidor, um NAS ou containers com Alpine:

  1. atualiza o OpenSSH (no Alpine: apk update && apk upgrade openssh) e reinicia o serviço sshd;
  2. se não podes atualizar já, desliga o login com palavra-passe: no ficheiro /etc/ssh/sshd_config, põe PasswordAuthentication no e reinicia o sshd. Passas a entrar só com chaves SSH, o que já era o mais seguro;
  3. nos containers, reconstrói as imagens com a versão nova do Alpine.
Terminal com os comandos para atualizar o OpenSSH no Alpine Linux e a linha PasswordAuthentication no no ficheiro sshd_config
Os dois passos: atualizar o OpenSSH ou desligar o login com palavra-passe · Imagem: Netcoregaming

Porque é que uma palavra-passe longa abre a porta

Nos sistemas Linux, as contas sem palavra-passe têm um asterisco (*) no lugar do código da palavra-passe — o que quer dizer "nenhuma palavra-passe serve". Na musl, quando a função que calcula esse código recebe uma palavra-passe longa demais, devolve precisamente um asterisco como sinal de erro. O OpenSSH compara esse asterisco com o da conta, vê que são iguais e deixa entrar.

Terminal do Alpine Linux a mostrar a conta root com um asterisco no ficheiro /etc/shadow e uma conta normal com palavra-passe
No Alpine, o root vem com um asterisco no lugar da palavra-passe — é essa a conta que a falha abre · Imagem: Netcoregaming

O investigador que a encontrou, Ozgun Kultekin, diz que o problema existe desde 2016. O OpenSSH e o autor da musl apontam o dedo um ao outro, mas a correção já está do lado do OpenSSH.

Se o teu router tem firmware alternativo ou acesso SSH, é boa altura para confirmar se está atualizado — tal como na falha dos routers ASUS de outubro.

Um vídeo que explica a falha, do canal ZazenCodes (em inglês):

O YouTube pode guardar cookies quando carregares.

Tens algum servidor em casa? Vota e diz-nos nos comentários o que corre nele.

A tua opinião

Tens algum servidor ou NAS em casa?

Vê mais Netcoregaming no GoogleJunta-nos às tuas fontes preferidas nas notícias do Google

0 comentários

Ainda ninguém comentou. Começa tu.

Deixa o teu comentário

Privacidade. Os comentários são moderados (o primeiro de cada pessoa). Sê respeitoso. Guardamos o IP durante 30 dias para combater abusos.

Continua a ler