Recevez tous les soirs un résumé de l’actu importante avec Le Récap’
À notre connaissance, personne ne l’a remarquée pendant plus de dix ans.
Depuis 2016, sur certains serveurs Linux, un compte verrouillé pouvait être ouvert avec n’importe quel mot de passe, à condition qu’il compte entre 257 et 1 024 caractères.
Révélée début novembre par Ozgun Kultekin, chercheur chez Wakefield, la faille porte le doux nom de « *sshole ». Un jeu de mots qui mêle SSH à « hole » (le trou) pour former une grossièreté que nous ne traduirons pas. L’astérisque, qui masque la première lettre, se trouve en plus au cœur même de la faille.
Au-delà de l’humour de Kültekin, la faille fait beaucoup réagir sur Hacker News, parce qu’elle touche OpenSSH, l’outil que des administrateurs et des développeurs du monde entier utilisent pour se connecter à distance à leurs serveurs.
Reprenons le problème à son origine. Quand on se connecte avec un mot de passe, le serveur ne le compare pas tel quel. Il le fait passer dans une fonction mathématique qui le transforme en une longue suite de caractères, puis compare ce résultat à celui qu’il a enregistré.
Pour les comptes qui ne doivent jamais accepter de mot de passe, comme le compte administrateur root sur de nombreux systèmes, la convention Unix consiste depuis 1980 à enregistrer un simple astérisque (*), qu’aucun calcul ne peut produire.
Mais en 2012, une décision venue de musl, une bibliothèque logicielle de base utilisée notamment par la distribution Alpine Linux, a compliqué les choses. Depuis cette date, quand sa fonction de calcul échoue, elle renvoie elle aussi un astérisque, et elle échoue justement dès qu’un mot de passe dépasse 256 caractères.
Cela ne posait pas de difficulté, me direz-vous, tant qu’un compte verrouillé ne pouvait correspondre à aucun mot de passe, quel qu’il soit.
C’était sans compter sur l’année 2016, quand OpenSSH a corrigé un autre défaut. Quand on tentait de se connecter à un compte inexistant, le serveur répondait « non » immédiatement, alors qu’un vrai compte demandait quelques millisecondes de calcul, ce qui permettait à un attaquant de repérer les comptes existants en chronométrant les réponses.
Pour effacer cette différence, OpenSSH s’est alors mis à faire le calcul même quand il n’a rien à comparer, y compris pour les comptes verrouillés, en empruntant les paramètres d’un autre compte doté d’un vrai mot de passe. Personne n’avait alors mesuré ce que cela produirait au contact de musl.
Plusieurs conditions doivent être réunies pour que la faille représente un réel danger.
Depuis Alpine 3.16, sortie en 2022, c’est justement ainsi que root est verrouillé. Sur les images Alpine officielles d’AWS et d’Azure, le compte par défaut peut en plus devenir administrateur sans mot de passe.
Debian, Ubuntu, Fedora et les systèmes qui passent par PAM ne sont pas concernés, et le chercheur explique ne pas avoir connaissance d’une exploitation active.
Vous avez lu 0 articles sur Numerama ce mois-ci
Tout le monde n'a pas les moyens de payer pour l'information. C'est pourquoi nous maintenons notre journalisme ouvert à tous.
Mais si vous le pouvez, voici trois bonnes raisons de soutenir notre travail :
Si vous croyez en un web gratuit et à une information de qualité accessible au plus grand nombre, rejoignez Numerama+.
Ajoutez Numerama à votre écran d'accueil et restez connectés au futur !
Tous nos articles sont aussi sur notre profil Google : suivez-nous pour ne rien manquer !






