Un mot de passe de 257 à 1 024 octets, saisi au hasard, suffit à ouvrir une session SSH sur des comptes dont la connexion par mot de passe est pourtant interdite. La faille, référencée CVE-2026-123158 et notée 8,1 sur 10, existe depuis 2016 et touche les systèmes Linux bâtis sur la bibliothèque musl, dont Alpine, base par défaut d’un très grand nombre de conteneurs. Le correctif est sorti le 5 novembre 2026.
Une astérisque qui vaut mot de passe valide
Dans le fichier /etc/shadow, une simple astérisque remplace l’empreinte du mot de passe des comptes auxquels on interdit la connexion par mot de passe : ce n’est pas une empreinte valide, donc aucune saisie ne devrait fonctionner. Or la fonction crypt() de la bibliothèque musl renvoie elle aussi le caractère « * » lorsqu’elle échoue, et son implémentation du chiffrement SHA-512 plafonne les mots de passe à 256 octets. Une saisie plus longue fait donc échouer la fonction, qui retourne la même astérisque que celle stockée dans le fichier.
Trois décisions prises à dix ans d’écart
Le mécanisme n’est le fait d’aucun bogue unique. Le choix de renvoyer « * » plutôt qu’une valeur nulle en cas d’échec, contrairement à l’usage, a été introduit dans musl en 2012. En 2016, le projet OpenSSH a ajouté une parade à la vulnérabilité CVE-2016-6210, qui permettait de deviner l’existence d’un compte en mesurant le temps de réponse du serveur : depuis, le serveur chiffre le mot de passe soumis avec le sel d’un autre compte. Dernier maillon, Alpine Linux utilise l’astérisque pour désactiver les mots de passe. Mis bout à bout, ces trois choix suffisent : la comparaison réussit, et la session s’ouvre sans qu’aucun identifiant valide soit connu de l’attaquant.
Alpine concerné par défaut, Debian et Ubuntu épargnés
L’exploitation suppose plusieurs conditions cumulatives, détaillées par la société de sécurité Ox Security : OpenSSH tournant sur un système musl, sans PAM, l’authentification par mot de passe activée, au moins un compte portant « * » comme empreinte et un autre compte doté d’une empreinte valide. Sont concernés Alpine Linux à partir de la version 3.16, ainsi qu’OpenWrt, Buildroot et Yocto. Ne le sont pas Debian, Ubuntu et Fedora, qui reposent sur la bibliothèque glibc, ni les systèmes recourant à PAM. Alpine, qui remplit par défaut toutes les conditions requises, est donc le cas le plus exposé.
C’est aussi le plus répandu. Selon Tom’s Hardware, Alpine sert de socle par défaut à ce qui pourrait représenter des millions d’installations : conteneurs Docker, Kubernetes et Proxmox, serveurs, machines virtuelles dans le cloud et équipements embarqués. Le média précise que la grande majorité de ces installations ne sont pas joignables depuis internet, mais que tout attaquant déjà présent sur un réseau d’entreprise, un réseau domestique, un réseau cloud ou un VPN peut s’en servir, qu’un seul compte valide suffit et que tester la faille est trivial.
17 600 tentatives de connexion délibérément anormales
La faille a été trouvée par le chercheur Özgün Kültekin, de la société Wakefield, par une méthode systématique : compiler le serveur sshd dans chaque combinaison possible de glibc, musl, PAM et sans PAM, puis lancer environ 17 600 tentatives de connexion délibérément inhabituelles contre chacune des versions obtenues. Le défaut était en place depuis 2016, soit dix ans, sans avoir été repéré. Ox Security lui attribue un score CVSS de 8,1 sur 10, niveau qualifié d’élevé, et non de critique.
Correctifs du 5 novembre, et un renvoi de responsabilité
OpenSSH a publié la version 10.6p2 le 5 novembre 2026 : toutes les versions antérieures sont concernées. Alpine a diffusé des correctifs sur toutes ses branches maintenues, avec le paquet openssh 10.6_p2-r0 sur la branche edge et 10.3_p1-r2 sur la branche 3.24, et un rétroportage jusqu’à la 3.16. À défaut de mise à jour immédiate, la mesure de contournement consiste à inscrire « PasswordAuthentication no » dans la configuration d’OpenSSH puis à redémarrer le service, avant de reconstruire les images de conteneurs avec les paquets corrigés. Selon Tom’s Hardware, le projet OpenSSH et l’auteur de musl, Rich Felker, ont chacun publié une note et semblent considérer que la responsabilité incombe à l’autre.
| Critère | Vulnérable | Non vulnérable |
|---|---|---|
| Bibliothèque C | musl | glibc |
| Distributions citées | Alpine 3.16 et suivantes, OpenWrt, Buildroot, Yocto | Debian, Ubuntu, Fedora |
| Authentification | Mot de passe activé, sans PAM | PAM utilisé, ou mot de passe désactivé |
| Version d’OpenSSH | Antérieure à 10.6p2 | 10.6p2 et suivantes |
| Longueur de la saisie | De 257 à 1 024 octets | Jusqu’à 256 octets |
