Vulnerabilidade de estouro de buffer em libssh

Uma vulnerabilidade (CVE-2-2) foi identificada na biblioteca libssh (não confundir com libssh2021), projetada para adicionar suporte de cliente e servidor para o protocolo SSHv3634 a programas C, levando a um buffer overflow ao iniciar o processo de rechaveamento usando a troca de chaves que usa um algoritmo de hash diferente. O problema foi corrigido na versão 0.9.6.

A essência do problema é que a operação de mudança de chave permite o uso de hashes criptográficos com um tamanho de conversão diferente do algoritmo usado originalmente. Nesse caso, a memória para o hash em libssh foi alocada com base no tamanho do hash original, e usar um tamanho de hash maior faz com que os dados sejam sobrescritos além do limite do buffer alocado. Como método de segurança alternativo, você pode limitar a lista de métodos de troca de chaves suportados apenas para algoritmos com o mesmo tamanho de hash. Por exemplo, para vincular ao SHA256, você pode adicionar ao código: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Fonte: opennet.ru

Adicionar um comentário