Une vulnérabilité critique corrigée dans libssh

Une vulnérabilité a été découverte dans libssh, plus particulièrement dans le processus d'authentification. Un attaquant pourrait l’exploiter pour accéder à une machine distante sans s'authentifier, élever ses privilèges, exécuter des commandes arbitrairement et accéder au contenu de la machine. L’attaque est peu complexe à mettre en œuvre et ne requiert ni privilèges ni l'interaction d’un utilisateur. L’impact estimé sur la confidentialité, l’intégrité et la disponibilité est élevé.

libssh est une librairie implémentant le protocole SSH et est utilisé sur de nombreux serveurs, bien que son utilisation reste faible comparée à son concurrent OpenSSH. Github et KDE sont les principaux projets utilisant libssh, cependant le premier utilise une version modifiée de la librairie et n'est pas impacté. De plus, la vulnérabilité ne concerne que les machines utilisant libssh en mode serveur. Les conséquences de la découverte de cette vulnérabilité sont donc à modérer malgré sa criticité. Cette faille est présente dans le code source de la librairie depuis 2014.

Un correctif a été publié dans la dernière version de libssh, il est recommandé de mettre à jour le plus rapidement possible la librairie.

Détails techniques

CVE-2018-10933 [CVSS v3 9.1] : La vulnérabilité est due à une mauvaise gestion du processus d'authentification. Les fonctions traitant les messages sont les mêmes que ce soit en mode client ou en mode serveur. Celles-ci ne s'assurent pas que le message qu'elles reçoivent est adapté au mode dans lequel elles fonctionnent. Ainsi, le message SSH2_MSG_USERAUTH_SUCCESS est utilisé en mode serveur pour informer le client qu'il s'est correctement authentifié. Cependant, il peut être envoyé par un client à un serveur (ce qu'il n'est jamais censé faire), afin de marquer son statut comme authentifié par le serveur. Ainsi, un attaquant pourrait exploiter la vulnérabilité pour s'authentifier à un serveur SSH sans avoir besoin de fournir de mot de passe.

Informations
+

Risques

  • Atteinte à la confidentialité des données
  • Élévation de privilèges
  • Exécution de code arbitraire

Criticité

  • Score CVSS : 9.8

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

  • Une preuve de concept est disponible ici.

Composants & versions vulnérables

  • libssh à partir de la version 0.6

CVE

  • CVE-2018-10933

Recommandations
+

Mise en place de correctif de sécurité

Solution de contournement

  •  Il n’existe pas de solution de contournement.