OpenSSH corrige falha que pode liberar acesso a contas Linux
A falha “sshole”, detalhada pelo pesquisador Ozgun Kultekin, afeta servidores com musl C em condições específicas e tem correção no OpenSSH 10.6p2.
Resumo em 30 segundos
A vulnerabilidade “sshole” pode permitir login em contas Linux configuradas para bloquear acesso por senha, quando o servidor usa musl C e a senha enviada ultrapassa 256 bytes. Distribuições como Alpine Linux podem ser afetadas, dependendo da configuração. A correção está no OpenSSH 10.6p2; até atualizar, a recomendação é desativar a autenticação por senha.
Uma falha no OpenSSH pode permitir que invasores obtenham acesso a contas Linux configuradas para bloquear login por senha. Batizada de “sshole”, a vulnerabilidade afeta servidores que usam a biblioteca musl C em condições específicas e foi detalhada nesta quinta-feira (5) pelo pesquisador de segurança Ozgun Kultekin.
O problema está ligado à maneira como o OpenSSH trata senhas de contas cujo acesso por senha foi bloqueado. Em sistemas Linux, administradores podem impedir esse tipo de login substituindo o código criptográfico da senha, chamado hash, por um asterisco no arquivo de configuração. A intenção é que nenhuma senha digitada seja aceita.
Segundo Kultekin, uma mudança feita no OpenSSH em 2016 para dificultar a identificação de nomes de usuários válidos levou o programa a calcular o hash mesmo quando a conta não tinha um código válido. O objetivo era tornar os tempos de resposta semelhantes, reduzindo a possibilidade de descobrir quais usuários existiam no servidor.
A brecha aparece quando a senha enviada ultrapassa 256 bytes. Nessa situação, a função da musl C retorna um asterisco após falhar no processamento. O OpenSSH pode então comparar esse resultado com o valor armazenado para a conta e aceitar a autenticação, apesar do bloqueio configurado.
A vulnerabilidade pode atingir distribuições como Alpine Linux, OpenWrt, Buildroot e Yocto. A exploração depende da configuração do servidor. Imagens oficiais do Alpine Linux para os serviços de nuvem Amazon Web Services e Microsoft Azure incluem uma conta padrão chamada “Alpine”, com permissão para executar comandos de administrador sem senha, condição que pode ampliar o impacto de um acesso indevido.
O pesquisador afirmou que usou agentes de inteligência artificial para examinar o comportamento do software e testar combinações de login. “Estava brincando com o OpenSSH, principalmente nas partes chatas onde ele fala com a libc, como código de senha. Construí o SSHD de todas as maneiras que pude pensar e joguei cerca de 17.600 loginS estranhos nele”, disse.
Sistemas que usam a biblioteca glibc, entre eles Debian, Ubuntu e Fedora, não são afetados, assim como aqueles que utilizam o módulo PAM de autenticação, de acordo com o pesquisador. A musl C e a glibc são bibliotecas que fornecem funções usadas por programas Linux; o PAM é um mecanismo que permite configurar métodos de autenticação.
O projeto Alpine Linux e os desenvolvedores do OpenSSH publicaram uma correção. O reparo está disponível no OpenSSH 10.6p2. Administradores de sistemas afetados devem atualizar os pacotes; se não puderem aplicar a atualização imediatamente, Kultekin recomenda desativar a autenticação por senha no servidor.