Uma vulnerabilidade divulgada nesta quinta-feira (5) permite que um atacante entre em determinadas contas de sistemas Linux baseados na biblioteca C musl, como Alpine Linux, OpenWrt, Buildroot e Yocto, apenas digitando uma senha com mais de 256 caracteres no login por SSH. O problema, apelidado de "*sshole", foi descoberto pelo pesquisador Ozgun Kultekin e existe desde 2016.

A falha nasce da combinação de dois comportamentos. Contas que não devem aceitar senha recebem um asterisco no lugar do hash em /etc/shadow. Desde uma correção de 2016, o OpenSSH calcula o hash da senha mesmo nesses casos, para não revelar por tempo de resposta quais usuários existem. Só que a função crypt() da musl também devolve um asterisco quando falha, por exemplo com uma senha acima de 256 bytes. O OpenSSH então compara asterisco com asterisco e libera o acesso.

A exploração exige um conjunto de condições: OpenSSH em distro com musl, autenticação PAM desativada (padrão no pacote do Alpine), login por senha ligado, ao menos uma conta com asterisco no lugar do hash e outra conta com senha válida. O pesquisador alerta que as imagens oficiais do Alpine na AWS e no Azure trazem uma conta "alpine" afetada, com permissão de administrador sem senha, o que pode levar a acesso root. Contas com senha válida não podem ser burladas, e sistemas com glibc, como Debian, Ubuntu e Fedora, não são vulneráveis.

O peso do problema está na popularidade do Alpine, muito usado como base de contêineres Docker e Kubernetes, máquinas virtuais em nuvem e dispositivos embarcados. Mesmo quando o servidor não está exposto à internet, qualquer atacante que já esteja dentro da rede pode se aproveitar da falha.

A correção está no OpenSSH 10.6p2; no Alpine, basta atualizar o pacote com apk upgrade openssh. Quem não puder atualizar de imediato deve definir PasswordAuthentication no na configuração do SSH e reiniciar o serviço. Para checar se houve exploração, a recomendação é procurar nos logs logins por senha bem-sucedidos em contas que não deveriam aceitar senha.

Segundo o pesquisador, a falha foi encontrada com ajuda de agentes de IA, que executaram cerca de 17,6 mil testes de autenticação combinando diferentes configurações do OpenSSH, hashes malformados e senhas longas demais.

Fonte: CISO Advisor