Após seis meses de desenvolvimento, foi lançado o OpenSSH 9.1, uma implementação aberta do cliente e servidor para trabalhar com os protocolos SSH 2.0 e SFTP. A versão é caracterizada principalmente por correções de bugs, incluindo a resolução de várias vulnerabilidades potenciais causadas por problemas de gerenciamento de memória:
- Overflow de byte único no código de processamento do banner SSH na ferramenta ssh-keyscan.
- Chamada dupla da função free() em caso de erro ao calcular hashes para arquivos no código de criação e verificação de assinaturas digitais na ferramenta ssh-keygen.
- Chamada dupla da função free() ao processar erros na ferramenta ssh-keysign.
Principais mudanças:
- No ssh e sshd, foi adicionada a diretiva RequiredRSASize, que permite definir o tamanho mínimo aceitável das chaves RSA. No sshd, chaves de tamanho menor serão ignoradas, e no ssh poderão resultar no encerramento da conexão.
- A edição portátil do OpenSSH foi adaptada para usar chaves SSH para assinar digitalmente commits e tags no Git.
- As diretivas SetEnv nos arquivos de configuração ssh_config e sshd_config agora aplicam o valor da primeira menção da variável de ambiente, se definida na configuração várias vezes (anteriormente, aplicava-se a última menção).
- Ao chamar a ferramenta ssh-keygen com a flag '-A' (geração de todos os tipos de chaves de host suportados por padrão), a geração de chaves DSA foi desabilitada, pois não é mais utilizada por padrão há anos.
- No sftp-server e sftp, foi implementada a extensão 'users-groups-by-id@openssh.com', que permite ao cliente solicitar os nomes de usuários e grupos correspondentes a um determinado conjunto de identificadores digitais (uid e gid). No sftp, essa extensão foi utilizada para exibir nomes ao listar o conteúdo do diretório.
- No sftp-server, foi implementada a extensão 'home-directory' para expandir caminhos ~/ e ~user/, alternativa à extensão 'expand-path@openssh.com' anteriormente proposta para os mesmos fins (a extensão 'home-directory' foi sugerida para padronização e já é suportada por alguns clientes).
- No ssh-keygen e no sshd, foi adicionada a capacidade de especificar tempos na zona horária UTC ao definir intervalos de validade para certificados e chaves, além do horário do sistema.
- No sftp, é permitido especificar argumentos adicionais na opção '-D' (por exemplo, '/usr/libexec/sftp-server -el debug3').
- No ssh-keygen permite o uso da flag "-U" (uso do ssh-agent) em conjunto com as operações "-Y sign" para determinar que as chaves privadas estão armazenadas no ssh-agent.
Fonte: opennet.ru
