
CVE-2024-3094 Recherche de backdoor XZ Utils - visualiseur de surface d'attaque, vérificateur de vulnérabilités système, et outil général d'évaluation des CVE Linux
Par Nikolaos Natsopoulos, Consultant IAM
Outil interactif basé sur navigateur accompagnant le rapport de recherche :
« CVE-2024-3094 : Compromission de la chaîne d'approvisionnement via l'ingénierie sociale et la manipulation du système de construction dans XZ Utils »
En mars 2024, une backdoor a été découverte dans XZ Utils (CVE-2024-3094) quelques instants avant qu'elle ne puisse atteindre les distributions Linux stables du monde entier. Elle a reçu le score CVSS maximal de 10,0. L'attaque impliquait un contributeur fictif passant près de trois ans à infiltrer le projet avant d'insérer du code qui aurait permis l'exécution de code à distance non authentifié sur des millions de serveurs Linux.
Cet outil fournit deux choses :
Une version améliorée du Vérificateur système avec une couverture CVE étendue et des fonctionnalités supplémentaires d'évaluation des vulnérabilités est disponible dans le dossier /CVE-Vulnerability-Assessment-Tool.
Téléchargez xz-toolkit_Visual_Checker.html et ouvrez-le dans n'importe quel navigateur. Aucune installation, aucun serveur, aucune connexion Internet requise. Tout est contenu dans un seul fichier.
Onglet Visualiseur d'attaque - cliquez sur n'importe quelle phase dans le panneau gauche pour parcourir la chronologie de l'attaque. La chaîne de dépendances se met à jour pour montrer exactement où se trouve le chemin d'attaque à chaque étape. Les phases sont codées par couleur : bleu pour la configuration, jaune pour les signes d'alerte, rouge pour l'injection, vert pour la découverte et la réponse.
Onglet Vérificateur système - exécutez ces trois commandes sur le système que vous souhaitez évaluer :
xz --version
ldd /usr/sbin/sshd
systemctl is-active ssh
Collez les résultats dans les trois champs et cliquez sur Analyser le système. L'outil évalue les cinq conditions nécessaires à l'exploitation et renvoie un verdict avec une répartition par condition. Cliquez sur « Visualiser la chaîne de dépendances de ce système » pour voir votre profil de bibliothèque réel rendu dans le diagramme de chaîne.
Entièrement vulnérable - Debian Sid avec XZ 5.6.1
Version XZ :
xz (XZ Utils) 5.6.1
liblzma 5.6.1
Dépendances sshd :
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
Statut SSH :
active (running) since Fri 2024-03-29 11:42:01 UTC
Attendu : VULNÉRABLE - les cinq conditions sont satisfaites.
Non vulnérable - Ubuntu LTS avec XZ 5.4.6
Version XZ :
xz (XZ Utils) 5.4.6
liblzma 5.4.6
Dépendances sshd :
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
Statut SSH :
active (running) since Thu 2024-03-28 09:15:33 UTC
Attendu : NON VULNÉRABLE - la version XZ est sûre, liblzma et libsystemd absents de sshd.
Non vulnérable - Arch Linux avec XZ 5.6.0 (protégé architecturalement)
Version XZ :
xz (XZ Utils) 5.6.0
liblzma 5.6.0
Dépendances sshd :
libcrypto.so.3 => /usr/lib/libcrypto.so.3
libpam.so.0 => /usr/lib/libpam.so.0
libc.so.6 => /usr/lib/libc.so.6
Statut SSH :
active (running) since Sat 2024-03-30 08:22:11 UTC
Attendu : NON VULNÉRABLE - XZ 5.6.0 est la version backdoorée, mais le système n'est pas exploitable car Arch Linux n'applique pas le patch sd_notify à OpenSSH, ce qui signifie que liblzma n'est jamais lié à sshd. La vulnérabilité était spécifique à l'architecture, pas seulement à la version.
Les cinq doivent être satisfaites simultanément pour qu'un système soit vulnérable :
Une conclusion clé du rapport de recherche accompagnant est que cette attaque représente un nouveau modèle de menace pour les praticiens de la gestion des identités et des accès. La backdoor n'a pas volé d'identifiants ni contourné les contrôles d'accès au sens conventionnel - elle a remplacé le mécanisme d'authentification lui-même, opérant en dessous de PAM, RBAC, MFA et Zero Trust. Aucun contrôle IAM conventionnel n'aurait empêché l'exploitation.
Les contrôles qui auraient aidé : approbation de version multipartite, vérification des différences entre tarball et dépôt git, surveillance de l'intégrité des binaires au moment de l'exécution (IMA/dm-verity), et détection d'anomalies sur la latence d'authentification SSH.
Copyright (c) 2026 Nikolaos Natsopoulos. Licence MIT.