Vulnérabilité dans PuTTY permettant de récupérer la clé privée de l'utilisateur

Dans PuTTY, un client du protocole SSH populaire sur la plateforme Windows, une vulnérabilité critique a été identifiée (CVE-2024-31497), permettant de recréer la clé privée d'un utilisateur générée en utilisant l'algorithme ECDSA avec la courbe elliptique NIST P-521 (ecdsa-sha2-nistp521). Pour deviner la clé privée, il suffit d'analyser environ 60 signatures numériques formées avec la clé problématique.

La vulnĂ©rabilitĂ© se manifeste Ă  partir de la version PuTTY 0.68 et a Ă©galement affectĂ© des produits intĂ©grant des versions vulnĂ©rables de PuTTY, comme FileZilla (3.24.1 — 3.66.5), WinSCP (5.9.5 — 6.3.2), TortoiseGit (2.4.0.2 — 2.15.0) et TortoiseSVN (1.10.0 — 1.14.6). Le problĂšme a Ă©tĂ© corrigĂ© dans les mises Ă  jour de PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 et TortoiseGit 2.15.0.1. AprĂšs l'installation de la mise Ă  jour, il est recommandĂ© aux utilisateurs de gĂ©nĂ©rer de nouvelles clĂ©s et de supprimer les anciennes clĂ©s publiques des fichiers authorized_keys.

La vulnérabilité est causée par la négligence des développeurs, qui ont utilisé un vecteur d'initialisation (nonce) basé sur une séquence aléatoire de 512 bits pour générer une clé de 521 bits, pensant probablement que l'entropie de 512 bits serait suffisante et que les 9 bits restants n'avaient pas d'importance. En conséquence, dans toutes les clés privées créées dans PuTTY en utilisant l'algorithme ecdsa-sha2-nistp521, les 9 premiers bits du vecteur d'initialisation prenaient toujours des valeurs nulles.

Pour l'ECDSA et la DSA, la qualitĂ© du gĂ©nĂ©rateur de nombres pseudo-alĂ©atoires et la couverture complĂšte des donnĂ©es alĂ©atoires du paramĂštre utilisĂ© lors du calcul du module sont cruciales, car dĂ©terminer mĂȘme quelques bits contenant des informations sur le vecteur d'initialisation est suffisant pour mener une attaque de rĂ©cupĂ©ration sĂ©quentielle de l'ensemble de la clĂ© privĂ©e. Pour rĂ©ussir la rĂ©cupĂ©ration de la clĂ©, il suffit de disposer de la clĂ© publique et d'analyser quelques dizaines de signatures numĂ©riques gĂ©nĂ©rĂ©es Ă  l'aide de la clĂ© problĂ©matique avec des donnĂ©es connues de l'attaquant. L'attaque se rĂ©sume Ă  rĂ©soudre le problĂšme HNP (Hidden Number Problem).

Les signatures numĂ©riques nĂ©cessaires peuvent ĂȘtre obtenues, par exemple, en connectant un utilisateur Ă  un serveur SSH de l'attaquant ou Ă  un serveur Git utilisant SSH comme transport. Les signatures nĂ©cessaires Ă  l'attaque peuvent Ă©galement ĂȘtre rĂ©vĂ©lĂ©es si la clĂ© a Ă©tĂ© utilisĂ©e pour signer des donnĂ©es arbitraires, comme les commits git lors de l'utilisation de l'agent SSH Pageant pour rediriger le trafic vers l'hĂŽte du dĂ©veloppeur. Il est exclu d'obtenir les donnĂ©es nĂ©cessaires Ă  la rĂ©cupĂ©ration de la clĂ© au cours d'une attaque MITM, car les signatures SSH ne sont pas transmises en clair.

Il est noté qu'une utilisation similaire d'initial vectors incomplets a été appliquée dans PuTTY et pour d'autres types de courbes elliptiques, mais pour des algorithmes autres que ECDSA P-521, les fuites d'information ne sont pas suffisantes pour réaliser une attaque réussie de récupération de clé. Les clés ECDSA d'autres tailles et les clés Ed25519 ne sont pas vulnérables à l'attaque.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster