Uma brecha crítica de segurança descoberta no software livre OpenSSH e na biblioteca musl C permite que invasores façam login em contas de sistemas Linux configuradas para bloquear o acesso por senha. Batizado de “*sshole”, a vulnerabilidade afeta distribuições como Apine Linux, OpenWrt, Buildroot e Yocto sob configurações específicas.
O pesquisador de segurança Ozgun Kultekin descobriu a falha a partir de testes automatizados e divulgou os detalhes em relatório técnico publicado nesta quinta-feira (5). A vulnerabilidade existe desde 2016 e decorre da forma como o OpenSSH gerencia erros de verificação de senha em sistemas que utilizam o musl C.
Em sistemas Linux, contas podem ter o login por senha bloqueado quando o administrador substitui o hash (operação matemática aplicada ao código que o usuário escolhe) da senha por um asterisco (*) no arquivo de configuração do sistema. Como o caractere não representa um válido, nenhum texto inserido deveria permitir o acesso.
Uma brecha crítica de segurança descoberta no software livre OpenSSH e na biblioteca musl C permite que invasores façam login em contas de sistemas Linux configuradas para bloquear o acesso por senha. Foto: Reprodução/ChatG
No entanto, uma alteração introduzida no OpenSSH em 2016 para corrigir uma falha de enumeração de nomes de usuário alterou esse comportamento. O software passou a processar a função de hash mesmo quando a conta não possuía um válido, com o objetivo de igualar o tempo de resposta do servidor e dificultar a identificação de usuários legítimos.
Causas da falha
O problema ocorre porque a função da musl C retorna o caractere asterisco assim que o processamento falha, o que acontece quando a senha enviada ultrapassa o limite de 256 bytes. Assim, o OpenSSH compara o resultado gerado com a operação armazenada no sistema, valida a entrada e autoriza o acesso.
A exploração da vulnerabilidade exige condições específicas no servidor, a exemplo de:
- O OpenSSH precisa rodar em um sistema baseado em musl;
- A autenticação por Módulos de Autenticação Conectáveis (PAM, na sigla em inglês), um sistema usado no Linux para provar quem são ao fazer login, deve estar desativada;
- A autenticação por senha precisa estar ativa;
- O sistema deve conter contas configuradas com asterisco no lugar do resto.
Ozgun Kultekin relatou que utilizou agentes de inteligência artificial (IA) para mapear o comportamento do software: “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“, afirmou o especialista.
Riscos para sistemas
Imagens oficiais de nuvem do Alpine Linux para Amazon Web Services e Microsoft Azure possuem uma conta padrão chamada “Alpine”, que tem privilégios de execução de comandos como administrador sem senha. A presença dessa configuração amplia o risco, uma vez que a exploração da falha pode resultar na obtenção de acesso total ao sistema.
Sistemas que utilizam a biblioteca glibc, como Debian, Ubuntu e Fedora, além daqueles que empregam o módulo PAM de autenticação, não sofrem impactos dessa vulnerabilidade, alertou o pesquisador.
Uma brecha crítica de segurança descoberta no software livre OpenSSH e na biblioteca musl C permite que invasores façam login em contas de sistemas Linux configuradas para bloquear o acesso por senha. Foto: Reprodução/Ozgun
O projeto Alpine Linux e os desenvolvedores do OpenSSH liberaram uma atualização de segurança para resolver o problema. A correção está disponível na versão 10.6p2 do OpenSSH.
Ozgun Kultekin aconselha que administradores de sistemas afetados atualizem os pacotes por meio do gerenciador do sistema ou desativem completamente a autenticação por senha no arquivo de configuração do servidor caso a aplicação imediata do patch não seja possível.
Em sintonia, o comunicado oficial da equipe do Alpine Linux destacou a necessidade de priorizar a atualização dos pacotes afetados: “Administradoras de sistemas devem atualizar os pacotes OpenSSH utilizando o gerenciador de pacotes do sistema para mitigar os riscos associados à vulnerabilidade”.
Um atacante que possa acessar sua porta SSH pode fazer login sem conhecer nenhum senha. É preciso uma conexão, funciona todas as vezes e não precisa de tentativas. Se você ainda não puder atualizar, pelo menos desative os logins de senha.
Comunicado oficial da OpenSSH
Siga o TecMundo no X, Instagram, Facebook e YouTube e assine a nossa newsletter para receber as principais notícias e análises diretamente no seu e-mail.