Foi publicado o lançamento do OpenSSH 10.1, uma implementação aberta de cliente e servidor para operar com os protocolos SSH 2.0 e SFTP.
Principais mudanças:
- Foi resolvido um problema de segurança que permitia a um atacante inserir comandos de shell através de manipulações de caracteres especiais no nome de usuário ou URI, que poderiam ser executados ao iniciar um comando especificado pela configuração 'ProxyCommand' e que continha a substituição '%u'. O problema afeta apenas sistemas que permitem a substituição de nomes de usuários ou URIs originados de fontes não confiáveis ao executar ssh.
Para bloquear tais ataques, foi proibido o uso de caracteres de controle nos nomes de usuários fornecidos ao iniciar na linha de comando ou utilizados nas configurações via sequências %-substituição. Também é proibido o uso do caractere nulo ('\0') em URI ssh://. Exceto para os nomes especificados no arquivo de configuração (presumindo que os dados desse arquivo de configuração são confiáveis).
- As utilidades ssh e ssh-agent agora suportam chaves ed25519 armazenadas em tokens PKCS#11.
- Foi adicionada uma configuração RefuseConnection no arquivo de configuração ssh_config, onde, ao ser processada na seção ativa, resulta na terminação do processo com uma mensagem de erro sem tentar estabelecer uma conexão. Match host foo RefuseConnection 'o host foo não está mais em uso, conecte-se ao host bar'
- No ssh e sshd foram adicionados manipuladores de sinal SIGINFO para registrar informações sobre a sessão e o canal ativo.
- No sshd, se a autenticação do usuário for rejeitada pelo certificado, será registrado no log não apenas a razão da rejeição do login, mas também informações detalhadas para identificar o certificado problemático.
- No sshd, foi adicionada a verificação do número de exibição X11, em relação à deslocamento definido na diretiva X11DisplayOffset.
- Foram adicionadas capacidades de medição de desempenho ao conjunto de testes unitários, ativadas ao executar 'make UNITTEST_BENCHMARK=yes' no OpenBSD ou 'make unit-bench' nos outros sistemas.
Mudanças que podem quebrar a compatibilidade retroativa:
- No ssh foi adicionada uma mensagem de aviso ao usar o algoritmo de negociação de chaves vulnerável a ataques de computadores quânticos ao estabelecer a conexão. O aviso foi adicionado devido ao risco de ataques no futuro, usando dumps de tráfego armazenados anteriormente. Para desativar o aviso, a opção WarnWeakCrypto foi adicionada ao ssh_config. Match host unsafe.example.com WarnWeakCrypto no
- No ssh e sshd, o manuseio dos parâmetros de qualidade de serviço DSCP (IPQoS) foi significativamente alterado. Para tráfego interativo, agora é utilizado por padrão a classe EF (Expedited Forwarding) para um processamento mais prioritário em redes sem fio. Para tráfego não interativo, a classe padrão utilizada no sistema operacional é definida. A classe de tráfego pode ser alterada através das configurações IPQoS em ssh_config e sshd_config. Os parâmetros ToS (type-of-service) para IPv4 na diretiva IPQoS foram considerados obsoletos (DSCP substituiu o ToS).
- No ssh-add, ao adicionar um certificado ao ssh-agent, foi implementada a definição do tempo de vida do certificado para um valor que é 5 minutos maior que a validade do certificado (para a remoção automática do certificado expirado). Para desativar esse comportamento, a opção '-N' foi adicionada ao ssh-add.
- O suporte a chaves XMSS foi removido, pois foi considerado experimental e nunca foi habilitado por padrão.
- Os sockets Unix criados pelos processos ssh-agent e sshd foram transferidos do diretório /tmp para ~/.ssh/agent, o que garante que não seja possível acessar esses sockets a partir de processos isolados, os quais têm o acesso ao sistema de arquivos restrito, mas têm acesso ao /tmp.
Versões futuras declararão obsoletas as entradas DNS SHA1 SSHFP devido a problemas de confiabilidade da função hash SHA1. Essas entradas serão ignoradas, e o comando 'ssh-keygen -r' gerará apenas entradas SHA256 SSHFP.
Fonte: opennet.ru
