En bref
Que s'est-il passé ?
XZ Utils (liblzma) est une bibliothèque de compression intégrée à de nombreuses distributions Linux. Un acteur a patiemment gagné le statut de mainteneur sur plusieurs années avant d'implanter une porte dérobée.
Le backdoor multi-étapes s'incorpore au binaire pendant le packaging RPM/DEB (x86-64), déguisé en étape de « test ». Il modifie liblzma pour intercepter RSA_public_decrypt() et, sur présentation d'une clé contrôlée par l'attaquant, exécuter une charge via system(), ouvrant un RCE distant via sshd.
Découvert dans les versions 5.6.0 et 5.6.1, attribué CVE-2024-3094, il avait été distribué via Fedora, Debian, Kali, openSUSE, Arch, Homebrew et pkgsrc. L'attaque exploite la confiance accordée aux mainteneurs et le manque de visibilité sur leur activité.
Diversifier et surveiller la gouvernance des projets critiques (éviter le mainteneur unique), builds reproductibles, revue des artefacts publiés vs source, et réduction de la surface d'exposition (liaison sshd/liblzma).
Chronologie de l'attaque
L'anomalie est repérée dans XZ Utils 5.6.0 et 5.6.1, qui reçoit l'identifiant CVE-2024-3094 ; le dépôt GitHub est désactivé plusieurs jours.
Comment l'attaquant a procédé
Cet incident met en jeu les vecteurs d'attaque suivants du catalogue SOCLE ; chacun renvoie à sa fiche, où l'on trouve les exigences qui le neutralisent :
La leçon à en tirer
La confiance amont et les images de base héritées sont durables ; surveiller l'intégrité et les mainteneurs.
Les exigences SOCLE qui auraient limité cet incident
Cet incident se rattache à 58 exigences du référentiel, par domaine. Les satisfaire n'aurait pas forcément tout empêché, mais aurait réduit la probabilité de l'attaque, limité son impact ou accéléré sa détection :