Les développeurs clients de divers protocoles d'accès à distance ont signalé une vulnérabilité critique CVE-2024-31497 dans les versions 0.68 à 0.80 de PuTTY, qui permet de compromettre la clé privée. Ce problème est résolu dans la version stable de PuTTY 0.81.
Dans PuTTY 0.68 à 0.80 avant 0.81, la génération occasionnelle ECDSA biaisée permet à un attaquant de récupérer la clé secrète NIST P-521 d'un utilisateur via une attaque rapide dans environ 60 signatures. Ceci est particulièrement important dans un scénario où un adversaire est capable de lire des messages signés par PuTTY ou Pageant. L'ensemble requis de messages signés peut être lisible publiquement car ils sont stockés dans un service public Git qui prend en charge l'utilisation de SSH pour la signature de validation, et les signatures ont été créées par Pageant via un mécanisme de transfert d'agent. En d’autres termes, un adversaire peut déjà disposer de suffisamment d’informations de signature pour compromettre la clé privée d’une victime, même s’il n’utilise plus les versions vulnérables de PuTTY. Après une compromission clé, un adversaire peut être en mesure de mener des attaques de chaîne d'approvisionnement sur des logiciels maintenus dans Git. Un deuxième scénario indépendant est que l'adversaire est un opérateur d'un serveur SSH auprès duquel la victime s'authentifie (pour une connexion à distance ou une copie de fichier), même si ce serveur n'a pas entièrement confiance en la victime et que la victime utilise la même clé privée. pour les connexions SSH à d’autres services exploités par d’autres entités. Ici, l'opérateur du serveur malveillant (qui autrement n'aurait aucun moyen de déterminer la clé privée de la victime) peut dériver la clé privée de la victime, puis l'utiliser pour un accès non autorisé à ces autres services. Si les autres services incluent des services Git, là encore, il peut être possible de mener des attaques de chaîne d'approvisionnement contre des logiciels maintenus dans Git. Cela affecte également, par exemple, FileZilla avant 3.67.0, WinSCP avant 6.3.3, TortoiseGit avant 2.15.0.1 et TortoiseSVN jusqu'à 1.14.6.
Chaque version de PuTTY de 0,68 à 0,80 inclus présente une vulnérabilité critique dans le code qui génère des signatures à partir de clés privées ECDSA à l'aide de la courbe NIST P521. PuTTY ou Pageant génère une signature basée sur la clé lorsque vous l'utilisez pour vous authentifier auprès d'un serveur SSH.
La mauvaise nouvelle est que la vulnérabilité entraîne la compromission de la clé privée. Un attaquant en possession de plusieurs dizaines de messages signés et d'une clé publique dispose de suffisamment d'informations pour récupérer la clé privée puis falsifier les signatures comme si elles provenaient de vous, lui permettant par exemple de se connecter à tous les serveurs sur lesquels vous utilisez la clé. Pour obtenir ces signatures, il suffit à un attaquant de compromettre brièvement tout serveur sur lequel vous utilisez la clé pour l'authentification, ou d'accéder momentanément à une copie de Pageant contenant la clé. Cependant, ces signatures ne sont pas disponibles pour les espions passifs des connexions SSH.
Par conséquent, si vous disposez d'une clé de ce type, nous vous recommandons de la révoquer immédiatement : supprimez l'ancienne clé publique de tous les fichiers authorised_keys inclus dans OpenSSH et son équivalent sur d'autres serveurs SSH, afin que la signature de la clé compromise ne soit plus pertinent. Générez ensuite une nouvelle paire de clés pour la remplacer. Le problème n’est pas la façon dont la clé a été générée initialement ; peu importe qu'il provienne de PuTTYgen ou d'ailleurs. Ce qui compte, c'est de savoir s'il a déjà été utilisé avec PuTTY ou Pageant.
La bonne nouvelle est que le seul type de clé concerné est l'ECDSA 521 bits. Autrement dit, une clé qui apparaît dans Windows PuTTYgen avec ecdsa-sha2-nistp521 au début du champ Empreinte digitale de clé, ou qui est décrite comme NIST p521 lorsqu'elle est chargée dans Windows Pageant, ou qui a un ID commençant par ecdsa-sha2-. nistp521 dans le protocole SSH ou le fichier de clé. Les autres tailles ECDSA et autres algorithmes clés ne sont pas affectés. En particulier, Ed25519 n'est pas affecté.
Pour éliminer cette vulnérabilité, les développeurs ont complètement abandonné l'ancien système PuTTY pour la génération k et sont passés à la méthode RFC 6979 pour tous les types de clés DSA et ECDSA. Les clés EdDSA telles que Ed25519 utilisaient déjà un système différent, qui n'a pas changé. Cependant, cela n'affecte pas le fait que les informations sur les clés privées P521 existantes étaient déjà divulguées chaque fois qu'une signature était générée à l'aide de l'ancien générateur K.
bbabo.Net