Uma vulnerabilidade severa de quatro anos foi descoberta na biblioteca de implementação do Secure Shell (SSH), conhecida como Libssh. A vulnerabilidade poderia permitir a qualquer um ignorar completamente a autenticação e obter controle administrativo irrestrito sobre um servidor vulnerável sem exigir uma senha.
A vulnerabilidade de segurança, rastreada como CVE-2018-10933 , é um problema de desvio de autenticação que foi introduzido na versão 0.6 do Libssh lançada anteriormente, deixando milhares de servidores corporativos abertos a hackers nos últimos quatro anos.
Mas antes de se assustar, você deve saber que nem o OpenSSH amplamente utilizado nem a implementação do libssh do Github foram afetados pela vulnerabilidade.
A vulnerabilidade ocorreu devido a um erro de codificação no Libssh e é “ridiculamente simples” de explorar.
De acordo com um comunicado de segurança publicado na terça-feira, tudo que um atacante precisa fazer é enviar uma mensagem “SSH2_MSG_USERAUTH_SUCCESS” para um servidor com uma conexão SSH habilitada quando espera uma mensagem “SSH2_MSG_USERAUTH_REQUEST”.
Devido a uma falha lógica no libssh, a biblioteca falha em validar se o pacote de “login com sucesso” recebido foi enviado pelo servidor ou pelo cliente, e também falha em verificar se o processo de autenticação foi concluído ou não.
Portanto, se um invasor remoto (cliente) enviar essa resposta “SSH2_MSG_USERAUTH_SUCCESS” para a libssh, ela considerará que a autenticação foi bem-sucedida e concederá ao invasor acesso ao servidor, sem precisar inserir uma senha.
Embora o GitHub use libssh, ele confirma que seu site oficial e o GitHub Enterprise não são afetados pela vulnerabilidade devido a como o GitHub usa a biblioteca.
“Nós usamos uma versão personalizada do libssh[…]
“Patches foram aplicados com muita cautela, mas o GHE [GitHub Enterprise] nunca foi vulnerável ao CVE-2018-10933.” – disse um oficial de segurança do GitHub no Twitter.
Como evitar ataques utilizando a LibSSH
A pesquisa do Shodan mostra que cerca de 6.500 servidores voltados para a Internet podem ser afetados devido ao uso do Libssh, um ou outro caminho.O bug de segurança foi descoberto por Peter Winter-Smith, do NCC Group, que divulgou a questão com responsabilidade ao Libssh.
A equipe do Libssh abordou a questão com o lançamento de suas versões atualizadas da libssh 0.8.4 e 0.7.6 na terça-feira 16 de Outubro, e os detalhes da vulnerabilidade também foram lançados ao mesmo tempo.
Se você tiver o Libssh instalado em seu site, e principalmente se estiver usando o componente servidor, é altamente recomendável instalar as versões atualizadas do Libssh o mais rápido possível.