Vulnérabilité critique sur libssh

ou comment prendre le contrôle d'un serveur sans mot de passe

De quoi s'agit il ?

Odoo CMS- Exemple d'image flottante

Une vulnérabilité existe sur libssh permettant de contourner l’authentification (CVE-2018-10933). Il faut bien différentier libssh et openssh. Le second est l’outil permettant l'accès sécurisé à un serveur du réseau, alors que le premier est une librairie apportant les mêmes fonctionnalités mais nécessitant d’être intégrée dans un développement. Cela ne signifie donc pas que tous les serveurs ayant un accès SSH ouvert sur internet sont vulnérables

Libssh est utilisé principalement pour des services ou scripts accédant à des accès SSH mais il existe parfois des services utilisant libssh en écoute, afin de traiter des connexions entrantes et c’est là que le risque est présent. Il n’y a finalement pas beaucoup de services utilisant libssh exposés sur internet, comme le montre le site Shodan (approximativement 6355 services vulnérables en ligne):

https://www.shodan.io/search?query=Libssh

Cependant de nombreux produits de sécurité utilisent cette librairie et sont donc vulnérables. F5, RedHat et à priori Cisco ont communiqué sur la problématique en indiquant que certains de leurs produits sont vulnérables.

https://www.zdnet.com/article/vendors-confirm-products-affected-by-libssh-bug-as-poc-code-pops-up-on-github/

https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20181019-libssh

Une preuve de concept d'exploitation existe déjà, il va donc falloir être réactif.

https://github.com/leapsecurity/libssh-scanner


Suis-je vulnérable ?

Pour tester si vous êtes vulnérable, la méthode la plus simple reste la ligne de commande:

# Version lente qui termine lors du timeout

telnet adresse_serveur port_ssh | grep 'libssh-0.6\|libssh-0.7\|libssh-0.8'

nc -v adresse_serveur port_ssh | grep 'libssh-0.6\|libssh-0.7\|libssh-0.8'

# Version plus rapide

nmap -Pn -p port_ssh -sV --script=banner adresse_serveur | grep 'libssh-0.6\|libssh-0.7\|libssh-0.8' 

(adresse_serveur représente le nom d'hôte ou l'adresse du serveur, port_ssh le numéro de port du service SSH, 22 par défaut)

Que faire ?

Surveillez bien les bulletins de sécurité de vos équipements de sécurité qui ne manqueront pas de tomber dans les semaines / mois qui viennent et appliquer les patchs rapidement.

De manière générale, il est bien entendu recommandé de ne pas exposer des services d’administration sur internet. Le filtrage par IP Source est votre ami. 


Bon courage à tous