Falha no OpenSSH permite bypass de autenticação por senha em sistemas com musl sem PAM
Aprofundamento CEVIU
Aprofundamento
A falha atinge o OpenSSH quando o sshd roda sobre musl (Alpine, OpenWrt, Buildroot, Yocto), sem PAM e com login por senha ativo, o que é o padrão. Segundo a fonte, o openssh-server do Alpine não usa PAM por padrão, e o mesmo vale para quem configurou UsePAM no.
O cenário de risco exige uma conta com apenas * no campo de senha (usuários só com chave, usuários LDAP, root no Alpine) e outra conta com senha real. Nesse caso, a conta com * aceita qualquer senha entre 257 e 1024 caracteres. A causa, de acordo com o resumo, é que o marcador de falha da função crypt() do musl coincide com o valor armazenado no campo de senha. Nas imagens oficiais do Alpine na AWS e na Azure, o usuário alpine padrão tem doas sem senha, então o bypass vira root. Sistemas com glibc, PAM, dropbear ou OpenBSD não são afetados.
Por que isso importa
Para quem opera containers e imagens enxutas baseadas em musl, isso significa checar o campo de senha das contas e se o login por senha está mesmo desligado. Na leitura editorial, a falha mostra como um detalhe de integração entre biblioteca C e daemon pode abrir acesso, mesmo com a conta aparentemente bloqueada.
Perguntas frequentes
Quais sistemas são afetados pela falha no OpenSSH?
Sistemas em que o sshd roda sobre musl, sem PAM, com login por senha habilitado. Exemplos citados são Alpine, OpenWrt, Buildroot e Yocto. Debian, Ubuntu, Fedora, qualquer sistema com glibc, dropbear e OpenBSD ficam de fora.
Que tipo de conta pode ser explorada?
Uma conta com apenas * como senha, como usuários só com chave, usuários LDAP ou o root no Alpine. É preciso também existir outra conta com senha real no sistema. A conta com * passa a aceitar qualquer senha de 257 a 1024 caracteres.
Por que o risco é alto nas imagens do Alpine na nuvem?
Nas imagens oficiais da AWS e da Azure, o usuário padrão alpine tem doas sem senha. Quem entra nessa conta com uma senha longa ganha root na prática.
Qual é a causa técnica?
O marcador de falha da função crypt() do musl coincide com o valor armazenado no campo de senha da conta. Por isso, a verificação aceita a senha longa em contas configuradas com *.
Fontes
- sshhole.comfonte original
- Categoria
- CEVIU Web Dev
- Publicado
- 06 de novembro de 2026
- Editoria
- CEVIU Web Dev

