Après six mois de développement, la version OpenSSH 10.3, une implémentation ouverte du client et de serveurs de l'utilisation des protocoles SSH 2.0 et SFTP, a été publiée. Principales modifications :
- Une vulnérabilité a été corrigée, permettant à un attaquant contrôlant le nom d'utilisateur transmis lors du lancement de l'utilitaire ssh, de potentiellement exécuter des commandes shell arbitraires. Cette vulnérabilité se manifeste dans les systèmes utilisant le remplacement « %u » dans certaines directives du fichier de configuration, telles que « Match exec ». Le problème est causé par la vérification des caractères spéciaux dans le nom d'utilisateur au stade suivant l'exécution des substitutions %-dans le fichier ssh_config.
- Un problème de sécurité dans sshd a été résolu, causé par une correspondance incorrecte de l'option authorized_keys principals="" avec la liste de noms (principal) dans le certificat lorsque des caractères « , » étaient spécifiés dans les noms. Pour exploiter la vulnérabilité, il est nécessaire que plusieurs noms soient spécifiés dans l'option authorized_keys principals="" et que l'autorité de certification ait émis un certificat avec plusieurs noms, séparés par des virgules (ce qui n'est généralement pas permis). Le comportement concernant les certificats avec un nom vide a été modifié : auparavant, un nom vide correspondait à toutes les options authorized_keys principals="", ce qui n'est plus le cas.
- Dans scp, un problème a été résolu, empêchant l'effacement des drapeaux setuid/setgid lors du téléchargement d'un fichier avec des droits root en utilisant l'option « -O » et sans l'option « -p ».
- Dans sshd, un problème de traitement des clés ECDSA dans les directives PubkeyAcceptedAlgorithms et HostbasedAcceptedAlgorithms a été corrigé, entraînant l'acceptation de tous les autres algorithmes basés sur ECDSA lors de l'utilisation de n'importe quel algorithme ECDSA (par exemple, « ecdsa-sha2-nistp384 »), même s'ils ne sont pas explicitement listés comme autorisés.
- Dans ssh et sshd, lors des interactions avec les agents SSH, la prise en charge des identifiants (codepoint) définis par l'IANA dans la spécification draft-ietf-sshm-ssh-agent a été ajoutée. La prise en charge des identifiants précédemment utilisés sous la forme « @openssh.com » a été conservée.
- Dans ssh-agent, l'extension « query » définie dans la spécification draft-ietf-sshm-ssh-agent a été mise en œuvre, permettant de déterminer les fonctionnalités prises en charge par l'agent. Pour demander la liste des extensions de protocole prises en charge via la requête « query », l'utilitaire ssh-add a ajouté l'option « -Q ».
- Dans sshd_config, il est désormais possible de spécifier plusieurs fichiers dans la directive RevokedKeys, et dans ssh_config — dans la directive RevokedHostKeys.
- Dans ssh, la commande d'échappement «~I» et l'option «-O conninfo» ont été ajoutées pour afficher les informations sur la connexion actuelle, ainsi que l'option «-O channels» pour afficher les informations sur les canaux ouverts.
- Dans sshd, la directive PerSourcePenalties a été mise à jour avec l'option 'invaliduser' pour ajouter un délai en cas de tentative de connexion avec un utilisateur inexistant (par défaut 5 secondes). Il est désormais possible de spécifier des valeurs de délai non entières.
- Dans sshd, l'option GSSAPIDelegateCredentials a été ajoutée pour contrôler la réception des identifiants délégués fournis par le client.
- Dans ssh-keygen, le support de l'enregistrement des clés ED25519 au format PKCS8 a été ajouté.
- Ajout du support du schéma de signatures numériques ed25519, implémenté via libcrypto.
Source : opennet.ru
