Foi publicado o lançamento do OpenSSH 9.6, uma implementação aberta de cliente e servidor para trabalhar utilizando os protocolos SSH 2.0 e SFTP. A nova versão corrige três problemas de segurança:
- Uma vulnerabilidade no protocolo SSH (CVE-2023-48795, ataque “Terrapin”), que permite que um ataque MITM reverta a conexão para usar algoritmos de autenticação menos seguros e desabilite a proteção contra ataques de canal lateral que recriam a entrada analisando os atrasos entre as teclas digitadas no teclado. O método de ataque é descrito em uma notícia separada.
- Uma vulnerabilidade no utilitário ssh que permite a substituição de comandos shell arbitrários por meio da manipulação de valores de login e host contendo caracteres especiais. A vulnerabilidade pode ser explorada se um invasor controlar os valores de login e nome do host passados para as diretivas ssh, ProxyCommand e LocalCommand ou blocos “match exec” que contêm caracteres curinga como% u e% h. Por exemplo, login e host incorretos podem ser substituídos em sistemas que usam submódulos no Git, uma vez que o Git não proíbe a especificação de caracteres especiais nos nomes de host e de usuário. Uma vulnerabilidade semelhante também aparece no libssh.
- Havia um bug no ssh-agent onde, ao adicionar chaves privadas PKCS#11, as restrições eram aplicadas apenas à primeira chave retornada pelo token PKCS#11. O problema não afeta chaves privadas regulares, tokens FIDO ou chaves irrestritas.
Outras mudanças:
- Adicionada substituição "%j" ao ssh, expandindo para o nome do host especificado por meio da diretiva ProxyJump.
- ssh adicionou suporte para configuração de ChannelTimeout no lado do cliente, que pode ser usado para encerrar canais inativos.
- Adicionado suporte para leitura de chaves privadas ED25519 no formato PEM PKCS8 para ssh, sshd, ssh-add e ssh-keygen (anteriormente apenas o formato OpenSSH era suportado).
- Uma extensão de protocolo foi adicionada ao ssh e ao sshd para renegociar algoritmos de assinatura digital para autenticação de chave pública após o recebimento do nome de usuário. Por exemplo, usando a extensão, você pode usar seletivamente outros algoritmos em relação aos usuários, especificando PubkeyAcceptedAlgorithms no bloco “Match user”.
- Adicionada uma extensão de protocolo para ssh-add e ssh-agent para definir certificados ao carregar chaves PKCS#11, permitindo que certificados associados a chaves privadas PKCS#11 sejam usados em todos os utilitários OpenSSH que suportam ssh-agent, não apenas ssh.
- Detecção aprimorada de sinalizadores de compilador não suportados ou instáveis, como "-fzero-call-used-regs" no clang.
- Para limitar os privilégios do processo sshd, as versões do OpenSolaris que suportam a interface getpflags() usam o modo PRIV_XPOLICY em vez de PRIV_LIMIT.
Fonte: opennet.ru