Une vulnérabilité d'énumération des utilisateurs découverte sur OpenSSH

Une vulnérabilité permettant d'énumérer les utilisateurs d'un système distant a été découverte sur OpenSSH lors de l'analyse d'une des mises à jour par des chercheurs en sécurité. Alors que les précédentes attaques (en annexe) permettaient d'énumérer des utilisateurs sur des versions plus anciennes à l'aide d'attaques temporelles, cette vulnérabilité permet d'obtenir à l'aide d'un paquet d'authentification spécialement conçu une réponse permettant de déterminer l'existence de manière certaine d'un utilisateur. La vulnérabilité réside dans le traitement de l'erreur d'authentification par OpenSSH. En cas d'utilisateur invalide, la méthode user_auth_pubkey est appelée et renvoie le code de retour SSH2_MSG_USERAUTH_FAILURE, alors qu'en cas d'utilisateur valide, la méthode sshpkt_get_u8 provoque une erreur et la connexion au serveur est fermée. Cette différence de comportement permet donc à un attaquant externe d'énumérer de manière certaine les utilisateurs présents sur le serveur.

Informations
+

Risque

  • Énumération d'utilisateurs présents sur le serveur

Criticité

  • CVSS v3 : Le score CVSS de la vulnérabilité n'a pas encore été attribué

Existence d’un code d’exploitation de la vulnérabilité

  • Plusieurs codes d'exploitation de la vulnérabilité sont d'ores et déjà disponibles sur Github, et des modules d'exploitation spécifiques ont été publiés sur plusieurs outils d'analyse de la sécurité. Un exemple d'exploit est disponible ici.

Composants & versions vulnérables

  • OpenSSH, versions antérieures à 7.7

CVE

  • CVE-2018-15473

Recommandations
+

Correctifs

  • La vulnérabilité a été corrigée par OpenBSD début août avant sa découverte publique lors du commit suivant. La vulnérabilité n'est plus présente à partir de la version 7.7.

Solution de contournement

  • Il n’existe pas actuellement de solution de contournement.