Após seis meses de desenvolvimento, foi lançada a versão OpenSSH 10.3, uma implementação de código aberto do cliente e servidor para trabalhar com os protocolos SSH 2.0 e SFTP. Principais alterações:
- Uma vulnerabilidade foi corrigida, permitindo que um atacante que controla o nome de usuário passado durante a execução do utilitário ssh potencialmente executasse comandos shell arbitrários. A vulnerabilidade manifesta-se em sistemas que utilizam a substituição "%u" em algumas diretivas do arquivo de configuração, como "Match exec". O problema é causado pela verificação de caracteres especiais no nome de usuário após a execução das substituições no arquivo de configuração ssh_config.
- Um problema de segurança foi resolvido no sshd, causado pelo mapeamento incorreto da opção authorized_keys principals="" com a lista de nomes (principal) no certificado, em situações onde os nomes continham o caractere ",". Para explorar a vulnerabilidade, é necessário que a opção authorized_keys principals="" contenha vários nomes e que a autoridade de certificação tenha emitido um certificado com vários nomes, separados por vírgula (o que normalmente não é permitido). O comportamento em relação a certificados com nomes vazios foi alterado — anteriormente, um nome vazio se aplicava a todas as opções authorized_keys principals="", mas agora não se aplica.
- No scp, foi corrigido um problema que fazia com que, após o upload de um arquivo com permissões de root usando a opção "-O" e sem a opção "-p", as flags setuid/setgid não fossem limpas.
- No sshd, foi corrigido um problema com o processamento de chaves ECDSA nas diretivas PubkeyAcceptedAlgorithms e HostbasedAcceptedAlgorithms, onde, ao especificar qualquer algoritmo ECDSA (por exemplo, "ecdsa-sha2-nistp384"), todos os outros algoritmos baseados em ECDSA começavam a ser aceitos, mesmo que não estivessem explicitamente listados como permitidos.
- No ssh e sshd, ao interagir com agentes SSH, foi adicionada a compatibilidade com identificadores (codepoint) definidos pela IANA na especificação draft-ietf-sshm-ssh-agent. A compatibilidade com identificadores anteriormente utilizados, do tipo "@openssh.com", foi mantida.
- No ssh-agent, foi implementada a extensão "query", definida na especificação draft-ietf-sshm-ssh-agent, que permite determinar quais funções são suportadas pelo agente. Para solicitar uma lista de extensões suportadas pelo protocolo através do comando "query", foi adicionada a opção "-Q" ao utilitário ssh-add.
- No sshd_config, foi permitido especificar vários arquivos na diretiva RevokedKeys, e no ssh_config — na diretiva RevokedHostKeys.
- No ssh, foi adicionada a comando de escape «~I» e a opção «-O conninfo» para mostrar informações sobre a conexão atual, além da opção «-O channels» para mostrar informações sobre os canais abertos.
- No sshd, a diretiva PerSourcePenalties implementou a opção ‘invaliduser’ para adicionar um atraso em caso de tentativas de login com um usuário inexistente (padrão de 5 segundos). Agora é possível especificar valores de atraso não inteiros.
- No sshd, foi adicionada a opção GSSAPIDelegateCredentials para gerenciar a recepção de credenciais delegadas fornecidas pelo cliente.
- No ssh-keygen, foi adicionada a suporte para a gravação de chaves ED25519 no formato PKCS8.
- Adicionada a suporte para o esquema de assinaturas digitais ed25519, implementada através da libcrypto.
Fonte: opennet.ru
