CVE-2024-3094
Construction de l'environnement de laboratoire et rapport pour CVE-2024-3094
Laboratoire CVE-2024-3094
Nous avons reproduit la backdoor insérée dans XZ Utils 5.6.0 et 5.6.1 dans un environnement de laboratoire et analysé le détournement de l'authentification SSH ainsi que les risques associés.
Environnement
- OS hôte : - Windows 11
- Docker : Docker Desktop 28.0.1
- Image de base du Dockerfile : debian:experimental-20240311
- version liblzma5 : 5.6.0
- Port SSH : 2222 (root / mot de passe : whs)
Dockerfile

docker-compose.yaml

Procédure de laboratoire
-
Rédaction du Dockerfile + docker-compose.yaml
-
Construction et exécution du conteneur
docker compose up --build -d

-
Accès au système via SSH
ssh root@localhost -p 2222
#mot de passe : whs

-
Vérification que la version de libzma5 est 5.6.0 avec dpkg
dpkg -l | grep libzlma

-
Vérification si sshd utilise liblzma.so
ldd /usr/sbin/sshd | grep lzma

- Aucune sortie -> Dans cet environnement de laboratoire, le binaire sshd ne semble pas être lié dynamiquement à liblzma.so, mais il a été confirmé que la version vulnérable de liblzma5 est installée. De plus, la possibilité d'exécuter un PoC a également pu être vérifiée.
-
Rédaction du script PoC
nom du fichier : poc_detect_backdoor.sh

-
Résultat d'exécution
chmod +x poc_detect_backdoor.sh
./poc_detect_backdoor.sh

Grâce à ces résultats, nous avons pu confirmer que le script PoC s'est exécuté correctement dans le conteneur, et il a été possible de prouver que l'environnement de laboratoire a été correctement configuré uniquement avec le Dockerfile et docker-compose.yaml.
Conclusion
- Nous avons configuré un environnement Docker basé sur une version vulnérable contenant la backdoor XZ, vérifié si sshd référençait cette bibliothèque, puis effectué une validation de fonctionnement via une simple exécution de PoC.
- Il a été confirmé que la reproduction était possible uniquement avec le Dockerfile et docker-compose.yaml.
- Les méthodes pour sécuriser cette vulnérabilité consistent à supprimer la version vulnérable de XZ ou à passer à une version corrigée.