Après trois mois de développement, la version OpenSSH 10.4 a été publiée, une implémentation ouverte du client et du serveur pour travailler avec les protocoles SSH 2.0 et SFTP. Changements principaux :
- Ajout de la prise en charge expérimentale du schéma de signature numérique combiné «mldsa44-ed25519», associant l'algorithme post-quantique ML-DSA 44 et l'algorithme basé sur les courbes elliptiques Ed25519. Pour activer la prise en charge, il faut ajouter «mldsa44-ed25519» aux directives HostKeyAlgorithms et PubkeyAcceptedAlgorithms. Pour générer des clés, utilisez la commande «ssh-keygen -t mldsa44-ed25519».
- Une nouvelle implémentation du système de correspondance par motif a été intégrée dans ssh et sshd, basée sur un automate fini non déterministe, qui n'est pas soumis au problème de croissance exponentielle de la complexité des calculs lors de l'utilisation de masques contenant de nombreux caractères «*».
- Le comportement des builds Linux de sshd avec le filtrage des appels système activé via seccomp a été modifié. Auparavant, un échec lors de l'activation de SECCOMP ou NO_NEW_PRIVS sur les systèmes Linux sans support entraînait un enregistrement d'avertissement dans les logs et la poursuite du fonctionnement sans isolation, tandis qu'à présent, cela entraînera un arrêt anormal.
- Lors de l'utilisation de l'option «sshd -G», les directives sont désormais enregistrées dans le dump de configuration en utilisant des majuscules et des minuscules, au lieu d'être uniquement en minuscules (c'est-à-dire «PubkeyAuthentication» au lieu de «pubkeyauthentication»).
- Le comportement de ssh et sshd a été mis en conformité avec la norme RFC 4253 : l'envoi de messages non liés à l'échange de clés lors d'un échange de clés redondant entraînera maintenant la fermeture de la connexion. Auparavant, des attaquants pouvaient effectuer une attaque DoS en envoyant indéfiniment des messages tiers lors de l'échange de clés, qui étaient mis en mémoire tampon sur le serveur et consommaient de la mémoire.
Plusieurs problèmes de sécurité ont été corrigés :
- Dans l'utilitaire ssh, un accès potentiel à la mémoire après sa libération (use-after-free) a été corrigé lors de l'accès à un malveillant serveur. Ce problème est exploité en modifiant la clé hôte lors de l'échange de clés redondant.
- Vulnérabilité dans sftp permettant de télécharger un fichier dans un autre répertoire en accédant à un serveur malveillant avec une commande sous la forme «sftp hôte:/path .».
- Vulnérabilité dans scp permettant, lors de la copie de fichiers entre deux externes serveurs très chargés, l'un d'eux étant contrôlé par l'attaquant, organiser l'enregistrement des fichiers dans le répertoire parent, situé un niveau en dessous du répertoire cible.
- Problème résolu dans sshd, se manifestant lors de l'utilisation de l'implémentation interne du serveur SFTP (« internal-sftp »), désactivée par défaut. Le problème est lié à la coupure de longues séquences dans la ligne de commande après 9 arguments, entraînant le rejet des arguments suivants. Cela peut ainsi entraîner le rejet des options liées à la sécurité.
- Correction dans sshd d'un bogue qui empêchait la directive « DisableForwarding=yes » de désactiver la création de tunnels, autorisée par l'option « PermitTunnel=yes » (non activée par défaut).
- Dans sshd, un problème a été corrigé, pouvant être utilisé pour initier un déni de service avant l'authentification lorsque la directive GSSAPIAuthentication est activée (désactivée par défaut). Le problème n'est pas bloqué par la limite « MaxAuthTries », mais est soumis à la restriction « PerSourcePenalties ».
- Dans sshd, des améliorations ont été apportées pour garantir que le délai minimal entre les tentatives d'authentification est toujours appliqué.
Source : opennet.ru
