Cliente ‘PuTTY SSH’ amplamente utilizado tem vulnerabilidade descoberta

Os mantenedores do PuTTY Secure Shell (SSH) e do cliente Telnet estão alertando os usuários sobre uma vulnerabilidade crítica que afeta as versões 0.68 a 0.80 que poderia ser explorada para obter a recuperação completa das chaves privadas NIST P-521 (ecdsa-sha2-nistp521).

A falha recebeu o identificador CVE CVE-2024-31497 , com a descoberta creditada aos pesquisadores Fabian Bäumer e Marcus Brinkmann da Ruhr University Bochum.

“O efeito da vulnerabilidade é comprometer a chave privada”, disse o projeto PuTTY em um comunicado.

“Um invasor que possui algumas dezenas de mensagens assinadas e a chave pública tem informações suficientes para recuperar a chave privada e, em seguida, falsificar assinaturas como se fossem suas, permitindo que eles (por exemplo) façam login em qualquer servidor que você usar. chave para.”

No entanto, para obter as assinaturas, um invasor terá que comprometer o servidor no qual a chave é usada para autenticação.

Em uma mensagem publicada na lista de discussão Open Source Software Security (oss-sec), Bäumer descreveu a falha como decorrente da geração de nonces criptográficos ECDSA tendenciosos , que poderiam permitir a recuperação da chave privada.

“Os primeiros 9 bits de cada nonce ECDSA são zero”, explicou Bäumer . “Isso permite a recuperação completa de chaves secretas em cerca de 60 assinaturas usando técnicas de última geração.”

“Essas assinaturas podem ser coletadas por um servidor malicioso (ataques man-in-the-middle não são possíveis, visto que os clientes não transmitem suas assinaturas de forma clara) ou de qualquer outra fonte, por exemplo, commits git assinados por meio de agentes encaminhados.”

Além de impactar o PuTTY, também afeta outros produtos que incorporam uma versão vulnerável do software –

  • FileZilla (3.24.1 – 3.66.5)
  • WinSCP (5.9.5 – 6.3.2)
  • TortoiseGit (2.4.0.2 – 2.15.0)
  • TortoiseSVN (1.10.0 – 1.14.6)

Após divulgação responsável, o problema foi resolvido no PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 e TortoiseGit 2.15.0.1. Recomenda-se que os usuários do TortoiseSVN usem o Plink da versão mais recente do PuTTY 0.81 ao acessar um repositório SVN via SSH até que um patch esteja disponível.

Especificamente, o problema foi resolvido com a mudança para a técnica RFC 6979 para todos os tipos de chaves DSA e ECDSA, abandonando seu método anterior de derivar o nonce usando uma abordagem determinística que, embora evitasse a necessidade de uma fonte de aleatoriedade de alta qualidade, era suscetível a nonces tendenciosos ao usar o P-521.

Além disso, as chaves ECDSA NIST-P521 usadas com qualquer um dos componentes vulneráveis ​​devem ser consideradas comprometidas e, consequentemente, revogadas, removendo-as dos arquivos ~/.ssh/authorized_keys e seus equivalentes em outros servidores SSH.