La version 10.6 d'OpenSSH a été publiée, une implémentation open source du client et du serveur pour les protocoles SSH 2.0 et SFTP. Des problèmes de sécurité ont été corrigés, la plupart d'entre eux ayant été détectés à l'aide d'outils d'analyse de code AI (les identifiants CVE n'ont pas été attribués) :
- Une vulnérabilité dans sftp permet d'écrire un fichier en dehors du répertoire cible lors de l'accès à un serveur contrôlé par des individus malveillants.
- Deux vulnérabilités dans l'implémentation de GSSAPI dans sshd, causées par la conservation de l'état entre différentes tentatives d'authentification. Les informations d'identification GSSAPI pouvaient être conservées après une tentative d'authentification échouée et utilisées après une tentative d'authentification réussie par la suite. Les problèmes se produisent lorsque l'option GSSAPIAuthentication est activée.
- Dans sshd et ssh, le support de la compression LZ77 a été désactivé en raison de la possibilité de mener une attaque par canal auxiliaire, permettant de restaurer le contenu d'une autre session lors de la connexion via une connexion multiplexée partagée avec la victime, en profitant du fait que les entrées contrôlées par l'agresseur affectent la longueur totale des messages chiffrés transmis (LZ77 remplace les chaînes répétées par des références dans un buffer commun à tous les canaux).
- Dans l'utilitaire ssh, l'utilisation des caractères ‘$’ et ‘\’ dans les noms d'utilisateurs saisis en ligne de commande est interdite, car ils pouvaient permettre l'exécution de code lors du remplacement des noms dans les directives ProxyCommand et Match exec spécifiées dans les paramètres.
- Dans ssh-keygen, le traitement incorrect de l'heure d'été a été corrigé, ce qui entraînait un décalage d'une heure de la durée de validité des certificats.
- Dans un but de bloquer la création de zip-bombs, une vérification de la taille maximale des paquets a été ajoutée dans sshd et ssh lors de la décompression des données.
- Dans sshd, un problème a été résolu, permettant de contourner les restrictions du mot-clé « restrict » dans le fichier authorized_keys, qui n'étaient pas appliquées aux tunnels (PermitTunnel).
- Dans sshd, l'analyse incorrecte de l'option « none » à l'intérieur des blocs Match a été corrigée, qui dans certaines directives, telles que AuthorizedPrincipalsFile, était interprétée comme un nom de fichier plutôt que comme un indicateur pour désactiver la directive.
- Dans sshd, l'absence de réinitialisation des privilèges root sur des plateformes ne prenant pas en charge le passage de descripteurs de fichiers et nécessitant les droits root pour allouer un PTY a été corrigée. Le problème se manifeste sur QNX 6, SCO OpenServer 5 et lors de compilations avec l'option « —disable-fd-passing ».
Modifications sans lien avec des vulnérabilités :
- La prise en charge de l'algorithme cryptographique hybride ssh-mldsa44-ed25519 est activée, résistant au cracking par des ordinateurs quantiques.
- L'option WarnWeakCrypto est implémentée et activée par défaut dans sshd_config pour gérer la sortie des avertissements lors de la connexion avec des algorithmes de négociation de clés vulnérables aux ordinateurs quantiques.
- Dans ssh-keygen et ssh-add, la vérification de la politique credProtect est mise en place dans les informations d'identification pour respecter les exigences de vérification (PIN ou biométrie) avant d'accéder aux clés résidentes sur les jetons FIDO.
- Un indicateur ‘-P’ a été ajouté à ssh-add pour ignorer la saisie optionnelle du code PIN pour les jetons FIDO et PKCS#11.
- Dans ssh, la commande ~I présente les informations de version sur les systèmes local et distant.
- Dans sftp, les commandes mkdir/lmkdir ont ajouté le drapeau ‘-p’ pour créer des répertoires si nécessaire.
- ssh-keygen a ajouté le mode «hexdump» pour exporter des clés sous forme de dumps hexadécimaux (par exemple, pour insertion dans la documentation).
- Dans ssh et sshd, la directive ChannelTimeout permet de spécifier des délais d'expiration avec une précision allant jusqu'à la fraction de seconde.
- sshd a ajouté l'option AgentSocketPath pour spécifier le chemin vers $SSH_AUTH_SOCK lors du passage d'agent (par exemple, user:.ssh/agent pour les sous-répertoires dans $HOME et shared:/tmp pour les répertoires partagés).
- ssh-agent a ajouté le drapeau ‘-A’ pour indiquer les répertoires avec des sockets d'agent, où il est permis de spécifier les préfixes ‘user:’ et ‘shared:’ comme dans l'option AgentSocketPath.
- sshd a séparé la vérification des clés publiques des tentatives d'authentification. Une option ‘PubkeyOptions max-pk-ok:nnnn’ a été ajoutée pour configurer le nombre d'essais de vérification des clés publiques (par défaut 6), après quoi la connexion sera rompue selon la limite MaxAuthTries.
- ssh et sshd ont ajouté le support de la valeur ‘all’ à l'option TCPKeepAlive, incluant l'envoi de paquets keepalive non seulement pour la connexion principale, mais aussi pour les connexions redirigées via celle-ci.
Source : opennet.ru
