CVE-2024-3094 :
code malveillant découvert dans les fichiers d’archive de la bibliothèque XZ
Produits Gatewatcher affectés
Les versions de la bibliothèque liblzma affectées par le code malveillant ne sont pas présentes dans les produits Gatewatcher. Plus précisément, ces versions correspondent à des versions dites “unstable”, lesquelles ne sont pas intégrées au développement de nos produits.
De manière générale, des scans de vulnérabilités sont réalisés quotidiennement sur tous nos produits afin de révéler si des versions des bibliothèques que nous utilisons sont vulnérables aux dernières CVE.
Versions concernées
Les versions 5.6.0 et 5.6.1 de la bibliothèque liblzma sont affectées par la présence de code malveillant. Voici certaines distributions qui ont intégré ces deux versions :
- les images conteneurs de Arch Linux créées entre le 24 février et le 28 mars 2024 (support d’installation 2024.03.01, images de machines virtuelles 20240301.218094 et 20240315.221711);
- les versions de Kali Linux disponibles entre les 26 et 29 mars 2024 ;
- les versions de openSUSE Tumbleweed et openSUSE MicroOS disponibles entre le 7 et le 28 mars 2024 ;
- Debian versions testing, unstable, et experimental (a partir de 5.5.1alpha-0.1 jusqu’à 5.6.1-1)
- les versions de Fedora 41, Fedora Rawhide et Fedora 40 Linux beta.
Pour vérifier si votre système est infecté avec les versions malveillantes de liblzma, n’exécutez pas la commande xz -V, mais plutôt strings `which xz` | grep « (XZ Utils) » afin de ne pas lancer une commande potentiellement malveillante.
Détails de la vulnérabilité
Vendredi 29 mars, Andres Freund, ingénieur logiciel chez Microsoft, avait alerté la communauté, après avoir remarqué que ses connexions SSH étaient anormalement longues, de la présence de code malveillant sur deux versions de la bibliothèque xz. Aussi connue sous le nom liblzma, cet utilitaire est disponible sur de nombreuses distributions Linux, comme Arch Linux, Debian ou Fedora.
Les versions 5.6.0 et 5.6.1 publiées respectivement fin février et le 9 mars contiennent toutes deux du code malveillant permettant une exécution de code arbitraire à distance. Au vu de l’ampleur de la menace, une référence CVE a été réservée : CVE-2024-3094, avec un score CVSS de 10 sur 10.
Comment du code malveillant a pu se retrouver dans un utilitaire présent par défaut sur la plupart des distributions Linux ? liblzma est un logiciel distribué de manière Open Source, ce qui veut dire que son code source est rendu disponible publiquement, permettant à quiconque de le consulter, de le modifier et de le distribuer librement. Evidemment, chaque modification du code source passe par une vérification des développeurs originaux avant de passer en production. C’est comme ça qu’un utilisateur sous le pseudonyme JiaT75 a d’abord commencé par apporter des ajouts valides à l’outil, dès le 6 février 2022, permettant d’acquérir la confiance des responsables du dépôt GitHub. Ce n’est que deux ans après son premier ajout que le contributeur ajoute deux fichiers malveillants opérants en tant que backdoor cachées parmi le dossier de test de l’outil. Ces fichiers, obfusqués et chiffrés, sont exécutés lors de la compilation.
Pour résumer, un développeur Windows étonné par une légère latence lors de l’utilisation de SSH repère par hasard une backdoor dans un outil Linux largement utilisé.
Pour le moment, il n’existe que des théories concernant l’identité de la personne ou de l’entité en question, nous ne nous prononcerons donc pas davantage sur ce sujet.
À ce jour, aucune exploitation de la faille n’a été détectée dans la nature.