Une faille OpenSSH permet aux attaquants d’accéder à des comptes désactivés par mot de passe sur certains systèmes Linux

Lucas Morel

if ( !emtpy($headline_subheadline ) ) : ?>

L’exploit trivial consiste à envoyer un mot de passe arbitraire extra-long à un serveur OpenSSH fonctionnant sur une configuration Linux vulnérable, y compris le populaire Alpine Linux.

endif; ?>

Une vulnérabilité critique qui affecte les serveurs OpenSSH sur les systèmes Linux construits avec la bibliothèque musl C au lieu de la glibc permet aux attaquants distants de contourner facilement l’authentification et de se connecter à des comptes pour lesquels l’authentification par mot de passe devrait être désactivée. La faille affecte le système léger Alpine Linux, largement utilisé pour les images de conteneurs Cloud Docker, ainsi que les distributions Linux pour les systèmes embarqués.

Le bug de sécurité, baptisé *SSHole et suivi sous le numéro CVE-2026-123158, a été découvert par Ozgun Kultekin, chercheur de la société de tests de sécurité Wakefield, et existe depuis 10 ans. Les responsables d’OpenSSH ont rapidement ajouté des mesures d’atténuation pour la faille dans la mise à jour d’urgence d’OpenSSH 10.6p2 publiée jeudi, même s’ils affirment que le bug n’est pas réellement dans leur code.

« Ce n’est pas tous les jours que l’exploit d’une vulnérabilité dans une technologie aussi répandue qu’OpenSSH consiste simplement à « envoyer un long mot de passe » ou à « envoyer beaucoup de caractères A », mais nous y sommes », a déclaré Jake Knott, responsable des renseignements sur les menaces chez la société de gestion préventive des expositions watchTowr. « Sur les systèmes concernés, l’exploit est étonnamment simple : envoyez un mot de passe comportant entre 257 et 1 024 caractères. »

Heureusement, il existe certaines conditions préalables pour que cet exploit fonctionne :

  • La distribution Linux doit utiliser musl, ce qui signifie que de nombreuses distributions de serveurs populaires telles que Debian, Ubuntu et Fedora ne sont pas concernées.
  • Le système doit utiliser OpenSSH et non d’autres implémentations de serveur SSH telles que Dropbear, que de nombreuses distributions intégrées utilisent.
  • OpenSSH doit être configuré sans prise en charge des modules d’authentification enfichables (PAM), le framework de connexion Linux le plus courant.
  • OpenSSH doit autoriser l’authentification par mot de passe
  • L’attaquant doit connaître le nom d’un compte pour lequel la connexion par mot de passe a été désactivée au niveau du système

Ces conditions sont remplies dans la configuration par défaut d’Alpine Linux et de son nom d’utilisateur « alpin » intégré, qui permet d’exécuter des commandes en tant que root. Le projet Alpine a publié des mises à jour d’urgence pour le package openssh et conseille aux utilisateurs qui ne peuvent pas mettre à jour de désactiver l’authentification par mot de passe dans la configuration OpenSSH et de configurer l’authentification par clé.

Pourquoi l’attaque triviale fonctionne

La faille est le produit de trois changements effectués à des années d’intervalle, chacun résolvant un problème différent. En 2012, les développeurs de musl ont limité la longueur des mots de passe à 256 octets pour empêcher les attaquants de monopoliser les ressources du serveur en envoyant de longs mots de passe qui doivent être hachés dans le cadre du processus de vérification de connexion.

Dans le même temps, ils ont également fait en sorte que la fonction de hachage de mot de passe de la bibliothèque renvoie un astérisque.

chaque fois qu’il échoue. L’astérisque est le même caractère qu’Unix utilise depuis les années 1980 pour marquer les comptes pour lesquels aucun mot de passe ne doit jamais correspondre – les comptes dont le mot de passe est désactivé au niveau du système.

En 2016, OpenSSH a modifié la façon dont il vérifie les mots de passe des comptes dont le propre champ de mot de passe n’offre aucun sel contre lequel hacher, en empruntant le sel d’un autre compte afin que les attaquants ne puissent pas deviner les noms d’utilisateur existants avec des tentatives de connexion par force brute et en chronométrant les réponses du serveur. Puis, en 2022, Alpine a remplacé le champ de mot de passe root par un astérisque afin que les connexions par clé SSH continuent de fonctionner.

Lorsqu’un attaquant envoie un mot de passe trop long pour un compte dont le mot de passe est désactivé sur un tel système, la tentative de hachage échoue et renvoie un astérisque, que sshd compare à l’astérisque stocké dans le champ du mot de passe du compte. Les deux correspondent et la connexion réussit.

Les images cloud Alpine Linux seront la cible principale

Le package OpenSSH standard d’Alpine est construit sans PAM et les connexions par mot de passe sont activées par défaut, de sorte que les serveurs Alpine répondent aux conditions dès le départ. Sur les images cloud officielles publiées entre les versions 3.18.11 et 3.24.3, le compte utilisateur par défaut, nommé alpine, est l’un des comptes désactivés par mot de passe, et les images lui accordent des privilèges « doas » sans mot de passe.

En conséquence, un attaquant qui se connecte en tant qu’utilisateur peut alors passer en root, de sorte que les images sont exposées dès qu’un administrateur définit un mot de passe pour tout autre compte sur le système, car un compte légitime avec un vrai mot de passe doit exister pour que cette attaque fonctionne.

Contrairement à la faille critique regreSSHion de 2024, celle-ci est confinée au monde musulman, mais elle ne nécessite aucune ingénierie d’exploitation d’aucune sorte.

« Les serveurs SSH exposés à Internet sont déjà soumis à des tentatives de saisie de mots de passe et à des tentatives de force brute 24 heures sur 24 », a déclaré Knott. « Exploiter cette vulnérabilité signifie simplement que ces mêmes attaquants ajoutent une très longue tentative de mot de passe à cette liste de force brute. Nous serions extrêmement surpris si nous ne voyions pas des forceurs SSH tenter cela d’ici le week-end. « 

Les organisations doivent également vérifier si la faille a déjà été utilisée sur leurs serveurs. Une entrée « Mot de passe accepté » dans /var/log/messages pour un compte qui n’a pas de mot de passe, tel que root, un utilisateur avec clé uniquement ou l’utilisateur alpin par défaut, est un signe fort de compromission.

Alpine recommande d’examiner l’utilisation des doas, les utilisateurs récemment créés et les fichiers sur les machines exposées, et son avis indique que tout serveur sur lequel une connexion ne peut être exclue doit être traité comme compromis. Kultekin a également publié un script de vérification sur GitHub qui identifie les serveurs exposés et répertorie les comptes à risque.Vulnérabilités

Sécurité