Une vague de compromissions touche le coeur de nombreuses distributions Linux du marché via du code malveillant débouchant sur une porte dérobée dans les bibliothèques xz versions 5.6.0 et 5.6.1. XZ est un format de compression de données à usage général présent dans presque toutes les distro, qu'il s'agisse de projets communautaires ou de distributions de produits commerciaux. Il permet essentiellement de compresser (puis de décompresser) de grands formats de fichiers en des tailles plus petites et plus faciles à gérer pour le partage par le biais de transferts de fichiers. De très nombreux OS Linux sont impactés de Red Hat, Fedora, à Debian en passant par Kali, openSuse ou encore Arch Linux. Cette porte dérobée a été introduite dans le projet Github xz en amont avec la version 5.6.0 en février 2024.

Selon le NIST, ce code malveillant a été découvert dans les archives de XZ à partir de la version 5.6.0. Grâce à une série d'obfuscation complexe de code, le processus de construction de liblzma extrait un fichier objet préconstruit d'un fichier de test déguisé existant dans le code source, qui est ensuite utilisé pour modifier des fonctions spécifiques dans le code liblzma. Il en résulte une bibliothèque liblzma modifiée, qui peut être utilisée par tout logiciel lié à cette bibliothèque, interceptant et modifiant l'interaction des données avec cette bibliothèque. La Cisa a également publié aujourd'hui un avis avertissant les développeurs et les utilisateurs de rétrograder vers une version XZ non compromise (c'est-à-dire 5.4.6 Stable) et de rechercher toute activité malveillante ou suspecte sur leurs systèmes. La faille est critique et d'un score CVSS maximal de 10. 

Un risque de casser l'authentification sshd

Plus inquiétant, le code malveillant qui en résulte interfère avec l'authentification dans sshd via systemd. SSH est un protocole couramment utilisé pour se connecter à distance à des systèmes, et sshd est le service qui permet cet accès. Dans certaines circonstances, cette interférence pourrait donner la possibilité à un acteur malveillant de casser l'authentification sshd et d'obtenir un accès non autorisé à l'ensemble du système à distance. Les recherches actuelles indiquent que la porte dérobée est active dans le daemon SSH, ce qui permet à des acteurs malveillants d'accéder à des systèmes où SSH est exposé sur Internet. Depuis le 29 mars, les actions de reverse engineering sur la backdoor sont en cours. En attendant des patchs correctifs, les fournisseurs et communautés des distributions Linux concernés recommandent de stopper leur utilisation et/ou bien de rétrograder vers des versions incluant XZ 5.4.x.

"Les utilisateurs de Fedora Linux 40 peuvent avoir reçu la version 5.6.0, en fonction du calendrier des mises à jour du système [...] Nous avons déterminé que Fedora Linux 40 beta contient deux versions affectées des bibliothèques xz - xz-libs-5.6.0-1.fc40.x86_64.rpm et xz-libs-5.6.0-2.fc40.x86_64.rpm. À l'heure actuelle, Fedora 40 Linux ne semble pas être affectée par l'exploitation du logiciel malveillant, mais nous encourageons tous les utilisateurs de la version bêta de Fedora 40 Linux à revenir aux versions 5.4.x", a expliqué Red Hat. Selon le fournisseur, le code malveillant est obscurci et ne peut être trouvé que dans le paquet de téléchargement complet, et non dans la distribution Git, qui ne contient pas la macro M4, qui déclenche le processus de construction de la porte dérobée indique le fournisseur. Si la macro malveillante est présente, les artefacts de deuxième étape trouvés dans le dépôt Git sont injectés pendant la construction. "La compilation malveillante qui en résulte interfère avec l'authentification dans sshd via systemd. SSH est un protocole couramment utilisé pour se connecter à distance à des systèmes, et sshd est le service qui permet l'accès", a déclaré Red Hat. "Dans des circonstances appropriées, cette interférence pourrait potentiellement permettre à un acteur malveillant de rompre l'authentification sshd et d'obtenir un accès non autorisé à l'ensemble du système à distance". A noter qu'aucune version de Red Hat Enterprise Linux (RHEL) n'est concernée par cette CVE.

Des distros Linux diversement impactées

Du côté de Debian, pour l'instant, aucune version stable n'est connue pour être affectée. "Les paquets compromis faisaient partie des distributions Debian testing, unstable et experimental, avec des versions allant de 5.5.1alpha-0.1 (téléchargée le 2024-02-01) à 5.6.1-1 incluse a été inversé pour utiliser le code amont 5.4.5, que nous avons versionné en 5.6.1+really. 5.6.1+réellement5.4.5-1", indique l'éditeur. "L'impact de cette vulnérabilité a affecté Kali entre le 26 et le 29 mars, période durant laquelle xz-utils 5.6.0-0.2 était disponible. Si vous avez mis à jour votre installation Kali le 26 mars ou après, mais avant le 29 mars, il est crucial d'appliquer les dernières mises à jour aujourd'hui pour résoudre ce problème. Cependant, si vous n'avez pas mis à jour votre installation Kali avant le 26 mars, vous n'êtes pas concerné par cette vulnérabilité de porte dérobée", explique de son côté Kali. Et openSuse d'indiquer : "Notre distribution de rolling release openSuse Tumbleweed et openSuse MicroOS ont inclus cette version entre le 7 et le 28 mars. SuSE Linux Enterprise et openSuse Leap sont construits indépendamment d'openSuse. Le code, les fonctionnalités et les caractéristiques de Tumbleweed ne sont pas automatiquement introduits dans Suse Linux Enterprise et/ou openSuse Leap. Il a été établi que le fichier malveillant introduit dans Tumbleweed n'est pas présent dans Suse Linux Enterprise et/ou openSuse Leap".