Qualys a identifié une faille de sécurité critique dans OpenSSH (Open Secure Shell) susceptible d’affecter des millions de serveurs Linux basés sur la bibliothèque glibc (GNU C Library). Référencée CVE-2024-6387, elle a été baptisée regreSSHion car il s’agit d’une régression (ou réintroduction) d’une précédente vulnérabilité (CVE-2006-5051), corrigée après sa découverte en 2006.

La vulnérabilité est due à une condition de concurrence critique du gestionnaire de signal dans sshd qui permet à des attaquants distants non authentifiés d’exécuter du code arbitraire avec des privilèges root.

« Cette vulnérabilité, si elle est exploitée, pourrait conduire à une compromission complète du système, où un attaquant pourrait exécuter du code arbitraire avec les privilèges les plus élevés, ce qui entraînerait une prise de contrôle complète du système, l’installation de logiciels malveillants, la manipulation de données et la création de portes dérobées pour un accès persistant », met en garde Bharat Jogi, directeur de l’unité de recherche sur les menaces de Qualys dans un billet de blog.

Qualys a identifié plus de 14 millions d’instances de serveur OpenSSH potentiellement vulnérables exposées à Internet. Les données anonymisées de Qualys CSAM 3.0 avec les données de gestion de la surface d’attaque externe révèlent qu’environ 700 000 instances externes orientées vers l’Internet sont vulnérables. Cela représente 31 % de toutes les instances OpenSSH tournées vers l’Internet dans leur base mondiale de clients.

La faille regreSSHion affecte les serveurs OpenSSH sous Linux à partir de la version 8.5p1 (octobre 2020) jusqu’à la version 9.7p1. La vulnérabilité est démontrée sur des systèmes Linux 32 bits avec la glibc et l’ASLR activé et elle est considérée comme possible sur des systèmes 64 bits, ou sans glibc.

Il est recommandé d’appliquer les correctifs sur les versions concernées dès leur disponibilité. Dans l’attente, Qualys conseille de modifier la valeur de LoginGraceTime à 0 dans le fichier de configuration. Cette mesure de contournement permet d’empêcher une exécution de code arbitraire à distance, mais rend la machine vulnérable à un déni de service à distance.