Une faille dans OpenSSH sur systèmes musl libc permet de s authentifier sur des comptes avec hash * désactivés via un mot de passe surdimensionné. Alpine Linux, OpenWrt et Buildroot sont affectés. Correctif : OpenSSH 10.6p2.
En bref
- Contournement d authentification SSH sur systèmes musl libc (Alpine Linux, OpenWrt, Buildroot, Yocto) via mot de passe surdimensionné — aucun CVE attribué à ce jour
- Systèmes concernés : serveurs OpenSSH sur musl libc avec PasswordAuthentication activé, PAM désactivé, et au moins un compte avec le hash de mot de passe égal à *
- Action urgente : mettre à jour vers OpenSSH 10.6p2 (apk upgrade openssh sur Alpine) ou désactiver PasswordAuthentication immédiatement
Les faits
Une vulnérabilité d authentification non documentée affectant OpenSSH sur les systèmes Linux utilisant la bibliothèque C musl a été divulguée le 5 novembre 2026 par le chercheur en sécurité Ozgun Kultekin. Surnommée « *sshole » par son découvreur, cette faille permet à un attaquant de s authentifier par mot de passe sur un compte SSH dont l authentification par mot de passe est officiellement désactivée — c est-à-dire un compte dont le hash de mot de passe dans /etc/shadow est la valeur * (astérisque). La faille n a pas encore reçu d identifiant CVE officiel au moment de la publication, mais son impact potentiel est significatif pour les environnements Linux légers, notamment les distributions Alpine Linux largement utilisées dans les conteneurs Docker et les instances cloud.
La root cause de cette vulnérabilité est subtile et implique une interaction inattendue entre OpenSSH, la bibliothèque cryptographique musl et une décision de conception datant de 2016. Lorsqu un utilisateur tente de se connecter par SSH avec un mot de passe, OpenSSH hache ce mot de passe à l aide de la fonction crypt() et compare le résultat au hash stocké dans /etc/shadow. Pour les comptes dont le hash est * — ce qui signifie que l authentification par mot de passe est désactivée — OpenSSH ne rejette pas immédiatement la tentative. Au lieu de cela, depuis le correctif CVE-2016-6210, OpenSSH hache quand même le mot de passe soumis pour normaliser le temps de réponse et empêcher l énumération de noms d utilisateurs valides par analyse temporelle.
Le problème survient avec la bibliothèque musl, qui contrairement à glibc, retourne la valeur * lorsque la fonction crypt() échoue — notamment lorsque le mot de passe soumis dépasse la limite de 256 octets de musl. Dans ce cas, OpenSSH compare le * retourné par crypt() (signe d échec de hachage) au * stocké dans /etc/shadow (signe de compte désactivé), et les deux valeurs correspondent. L authentification réussit alors à tort. L attaque est donc simple : soumettre un mot de passe arbitraire d une longueur supérieure à 256 octets sur un compte SSH dont le hash est *.
La faille a été découverte par Ozgun Kultekin grâce à une approche originale : il a développé un système d agents IA qui ont exécuté environ 17 600 tests d authentification sur des configurations OpenSSH variées, combinant différents types de hashes de mots de passe malformés et des mots de passe de tailles variables. Ce processus de fuzzing semi-automatisé a permis d identifier l interaction anormale entre les mots de passe surdimensionnés et les hashes * spécifiquement dans les configurations musl. Les détails techniques ont été publiés sur le site sshhole.com par le chercheur le 5 novembre 2026.
Les préconditions exactes pour l exploitation sont les suivantes. Premièrement, OpenSSH doit s exécuter sur un système Linux utilisant musl comme bibliothèque C standard — Alpine Linux, OpenWrt, Buildroot ou Yocto. Deuxièmement, PAM (Pluggable Authentication Modules) doit être désactivé, ce qui est la configuration par défaut du paquet openssh-server d Alpine Linux. Troisièmement, PasswordAuthentication doit être activé dans la configuration SSH. Quatrièmement, au moins un compte avec * comme valeur dans le champ de hash de mot de passe dans /etc/shadow — correspondant aux comptes désactivés ou aux comptes système sans mot de passe. Cinquièmement, un autre compte sur le même système avec un hash de mot de passe valide. Cette dernière condition est requise car OpenSSH ne déclenche le comportement de hachage de normalisation que si au moins un compte avec un hash valide existe sur le système.
L exposition est particulièrement préoccupante pour Alpine Linux, la distribution Docker de référence utilisée dans des millions de conteneurs en production dans le monde entier. Les images officielles Alpine pour AWS et Azure incluent par défaut un compte alpine avec le hash * et des droits doas (équivalent sudo), selon le chercheur. Si des services SSH sont exposés sur ces instances — même temporairement pour du débogage — un attaquant pourrait s authentifier sans connaître de mot de passe valide. Les environnements OpenWrt (routeurs et équipements réseau embarqués) sont également à risque, notamment les modèles exposant SSH sur leurs interfaces de gestion.
La faille existe depuis 2016, date à laquelle la correction de CVE-2016-6210 a introduit le comportement de hachage de normalisation dans OpenSSH. Cela signifie que des milliers d environnements basés sur Alpine Linux ont potentiellement été exposés pendant 10 ans sans que cette vulnérabilité soit détectée. Il n existe actuellement aucune preuve d exploitation active dans la nature, et aucun PoC public n a été mis à disposition par le chercheur au moment de la divulgation, ce qui laisse un délai de remédiation avant une exploitation généralisée potentielle.
Du point de vue de la classification, si un CVE venait à être attribué, la vulnérabilité correspondrait probablement à CWE-287 (Improper Authentication) ou CWE-303 (Incorrect Implementation of Authentication Algorithm). L impact est un accès SSH non autorisé sur des comptes normalement désactivés. Dans les pires configurations — comme les images cloud Alpine avec le compte alpine disposant de droits doas — l exploitation directe peut mener à une compromission root complète du serveur sans élévation de privilèges supplémentaire.
Impact et exposition
L impact primaire de cette vulnérabilité est un accès SSH non autorisé à des comptes dont l authentification par mot de passe est officiellement désactivée. Dans un contexte de conteneurs Docker basés sur Alpine, cela peut permettre à un attaquant ayant accès réseau au port SSH d un conteneur de s y connecter et d exécuter des commandes. Dans un contexte d instance cloud, l accès SSH sur le compte alpine avec droits doas peut mener à une compromission root complète du serveur.
La surface d attaque est étendue en raison de la popularité d Alpine Linux comme image de base Docker. Des millions de conteneurs en production utilisent Alpine comme OS de base. Si des services SSH sont activés — même ponctuellement — dans ces conteneurs, ils sont vulnérables. Les environnements de CI/CD utilisant des runners Alpine avec SSH activé pour le débogage, les environnements de développement, et les instances cloud légères basées sur Alpine sont particulièrement exposés.
Les équipements réseau sous OpenWrt constituent une seconde surface d attaque significative. De nombreux routeurs domestiques et professionnels exposent SSH sur leur interface de gestion. Si leur firmware OpenWrt inclut une version d OpenSSH non patchée et que la configuration SSH correspond aux préconditions décrites, l accès à l interface d administration est possible sans authentification valide. Les modèles en fin de vie ne recevront probablement pas de mise à jour de firmware corrigeant cette faille.
En termes de détection, l exploitation laisse une trace dans les logs système : un login SSH réussi sur un compte dont le hash est * apparaît dans /var/log/messages (sur Alpine) comme « Accepted password » pour ce compte. Les systèmes de monitoring de logs correctement configurés peuvent détecter cette anomalie. L absence de trace dans les logs SSH d une tentative d authentification préalable échouée suivie d un succès immédiat avec un mot de passe long est un indicateur de compromission potentiel.
Recommandations immédiates
- Mettre à jour OpenSSH vers la version 10.6p2 : sur Alpine Linux, exécuter
apk upgrade opensshpuis redémarrer le service SSH - Mitigation immédiate si mise à jour impossible : ajouter PasswordAuthentication no dans /etc/ssh/sshd_config et recharger SSH avec
service sshd restart - Inventorier les comptes avec hash * dans /etc/shadow sur tous les systèmes musl :
grep ":*:" /etc/shadow - Vérifier les logs SSH pour des authentifications réussies suspectes :
grep "Accepted password" /var/log/messages— si un compte avec hash * apparaît, le système est probablement compromis - Sur les images Docker Alpine : revoir les Dockerfiles pour désactiver SSH ou imposer uniquement l authentification par clé publique
- Préférer l authentification par clé publique SSH (PubkeyAuthentication) et désactiver définitivement PasswordAuthentication sur tous les serveurs accessibles depuis Internet
⚠️ Urgence
Bien qu aucune exploitation active n ait été confirmée à ce jour, la simplicité de l attaque (soumettre un mot de passe long) et l absence de CVE peuvent retarder le déploiement des correctifs. Toute infrastructure Alpine Linux ou OpenWrt avec SSH exposé et PasswordAuthentication activé doit être considérée comme vulnérable jusqu à mise à jour.
Comment savoir si je suis vulnérable ?
Vérifiez en 3 étapes : (1) Êtes-vous sur musl libc ? Sur Alpine : ldd --version 2>&1 | head -1 — si la sortie contient « musl », vous êtes concerné. (2) PAM est-il désactivé ? sshd -T | grep usepam — si « usepam no », vous êtes dans la configuration vulnérable. (3) Des comptes avec hash * existent-ils ? sudo grep ":*:" /etc/shadow — si oui et que PasswordAuthentication est activé, le système est vulnérable. Version OpenSSH : ssh -V — toute version antérieure à 10.6p2 sur musl est affectée.
Vos serveurs Alpine Linux sont-ils exposés ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités SSH et de configuration système.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CWPdoor : backdoor furtif dans Control Web Panel CWP
CWPdoor est un backdoor passif qui remplace furtivement le binaire cwpsrv de Control Web Panel (CWP). Découvert par XLab (QiAnXin), il exploite plus de 340 000 serveurs Linux via des commandes chiffrées AES-256 signées RSA et efface ses traces des logs.
CVE-2024-27834 : Apple WebKit ajouté KEV CISA — urgent
CVE-2024-27834 permet de contourner la protection Pointer Authentication de WebKit. Ajoutée au catalogue CISA KEV le 4 novembre 2026, cette faille exige une mise à jour immédiate vers Safari 17.5 et iOS 17.5.
CVE-2026-116606 : Barracuda ESG et WAF — accès root critique
Barracuda alerte sur deux vulnérabilités critiques : CVE-2026-116606 (auth bypass ESG permettant modification de configuration globale) et CVE-2026-111560 (injection de commandes OS root). Six produits affectés dont ESG, WAF, Load Balancer ADC et Message Archiver.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire