Les responsables d'OpenSSH ont publié des mises à jour de sécurité pour contenir une faille de sécurité critique qui pourrait conduire à l'exécution de code à distance non authentifié avec les privilèges root sur les systèmes Linux basés sur la glibc.
Cette vulnérabilité a reçu l'identifiant CVE-2024-6387. Elle se situe dans le composant serveur OpenSSH , également connu sous le nom de sshd, qui est conçu pour écouter les connexions de toute application cliente.
« Cette vulnérabilité, qui exploite une condition de concurrence dans le gestionnaire de signaux du serveur OpenSSH (sshd), permet l’exécution de code à distance (RCE) sans authentification avec les privilèges root sur les systèmes Linux basés sur glibc », a déclaré Bharat Jogi, directeur principal de l’unité de recherche sur les menaces de Qualys, dans un communiqué publié aujourd’hui. « Cette condition de concurrence affecte sshd dans sa configuration par défaut. »
Une condition de concurrence survient lorsque le comportement d'un programme dépend de la séquence ou du moment d'exécution d'opérations non synchronisées. Ce problème se produit fréquemment dans les systèmes concurrents ou multithreadés, où plusieurs processus ou threads tentent d'accéder simultanément à une ressource partagée ou de la modifier. Mal gérées, les conditions de concurrence peuvent engendrer des comportements imprévisibles, des erreurs de programmation et des failles de sécurité. En matière de sécurité, un attaquant peut exploiter une condition de concurrence pour effectuer des actions non autorisées, accéder à des données sensibles ou compromettre l'intégrité du système. Il est donc crucial de mettre en œuvre des techniques de synchronisation et de contrôle d'accès appropriées.
La société de cybersécurité a déclaré avoir identifié pas moins de 14 millions d'instances de serveurs OpenSSH potentiellement vulnérables exposées sur Internet, ajoutant qu'il s'agit d'une régression d'une faille vieille de 18 ans déjà corrigée et identifiée comme CVE-2006-5051 , le problème ayant été résolu en octobre 2020 dans le cadre de la version 8.5p1 d'OpenSSH.
« Une exploitation réussie a été démontrée sur des systèmes Linux/glibc 32 bits avec [ randomisation de l'espace d'adressage ] », a indiqué OpenSSH dans un avertissement. « En laboratoire, l'attaque nécessite en moyenne 6 à 8 heures de connexions continues, jusqu'à la limite maximale que le serveur peut accepter. »
Cette vulnérabilité affecte les versions comprises entre 8.5p1 et 9.7p1. Les versions antérieures à 4.4p1 sont également vulnérables à cette faille de concurrence, sauf si elles sont corrigées pour les vulnérabilités CVE-2006-5051 et CVE-2008-4109 . Il est important de noter que les systèmes OpenBSD ne sont pas concernés, car ils intègrent un mécanisme de sécurité qui bloque cette faille.
Plus précisément, Qualys a découvert que si un client ne s'authentifie pas dans les 120 secondes (un paramètre défini par LoginGraceTime), le gestionnaire SIGALRM de sshd est appelé de manière asynchrone, d'une manière qui n'est pas sûre pour les signaux asynchrones.
L’effet net de l’exploitation de CVE-2024-6387 est une compromission et un contrôle complets du système, permettant aux acteurs malveillants d’exécuter du code arbitraire avec les privilèges les plus élevés, de contourner les mécanismes de sécurité, de voler des données et même de maintenir un accès persistant.
"Une faille, une fois corrigée, est réapparue dans une version ultérieure du logiciel, généralement en raison de modifications ou de mises à jour qui réintroduisent le problème par inadvertance", a déclaré Jogi. "Cet incident met en évidence le rôle crucial de tests de régression approfondis pour empêcher la réintroduction de vulnérabilités connues dans l'environnement."
Bien que cette vulnérabilité présente des défis importants en raison de sa nature de condition de concurrence à distance, il est conseillé aux utilisateurs d'appliquer les correctifs les plus récents afin de se protéger contre les menaces potentielles . Il est également recommandé de restreindre l'accès SSH à l'aide de contrôles réseau tels que le pare-feu et de mettre en œuvre la segmentation du réseau afin de limiter les accès non autorisés et les déplacements latéraux.