News - Logiciels Libres

ALERTE SECURITE : Une backdoor dans xz sous Linux (porte dérobée)

| | Logiciels Libres | 1 Commentaire | 1027
ALERTE SECURITE : Une backdoor dans xz sous Linux (porte dérobée)
Bonjour à tous...

Dans cet article, je vous partage le script de ma vidéo sur l'alerte de sécurité (autour du code malicieux découvert dans les libs xz) touchant certaines distributions Linux.
J'ai publié le 29 Mars au soit plein d'informations sur un fil sur Twitter : https://twitter.com/_adriend_/status/1773782014648299702
Vous avez été nombreux à me demander une vidéo récapitulative sur le sujet.
Voici le script pour vous permettre une lecture plutôt qu'un visionnage, où j'ai recompilé et réordonné ce que j'ai tweeté.
C'est sous forme de liste à puce, mais les idées essentielles sont là.

Red Hat a communiqué ce 29 mars :
https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users
- Sont concernées les derni-res versions de xz (5.6.0 et 5.6.1)
- Contient un code malicieux qui permet de faire un accès non autorisé sur le système (backdoor)
- Vulnérabilité assignée CVE-2024-3094.
- Les vulnérabilités et expositions courantes (CVE) sont un ensemble de menaces de sécurité qui sont incluses dans un système de référence qui décrit les risques connus du public.

Qu'est ce que XZ :
Xz = compression de format (comme bzip2 ou gzip ou zstd)
Beaucoup utilisé sous Linux (tar.xz, compressiion de modules noyaux etc...)

A propos du code malveillant
- Concernés 5.6.0 et 5.6.1
- Code obfusqué, non présent dans le code source mais dans les archives mise à dispo
- Code ajouté dans les tar : https://web.archive.org/web/20240329182710/https://github.com/tukaani-project/xz/releases
- GITHUB du projet désactivé ce matin : https://github.com/tukaani-project/xz/releases
- Lors de la compilation depuis les sources le code malveillant se construit si la macro M4 est exécutée
- Lorsque autoconf est appelé (lors de la construction de paquets sous Linux deb, rpm, arch, etc...)
- Le code interfère avec l'authentification dans sshd via systemd
- Donc permet de prendre le contrôle non autorisé d'une machine ar la suite

Le lien malicious code de l'article (RedHat) donne toutes les infos techniques
https://www.openwall.com/lists/oss-security/2024/03/29/4
- Vulnérabilité découverte par Andres Freund
- S'interrogeait sur les lenteurs d'SSH et consommation élevéede CPU
- Ce n'est pas un chercheur en sécurité mais il a constaté la supercherie

Depuis les distributions Linux ont été très réactives depuis la découverte
Vulnérabilité présente depuis la version 5.6.0 de xz publiée le 24 février

Distribs impactées :
RHEL : Pas d'impact sur RHEL 9 dernière version possèdant la version 5.2.x

Fedora :
PLEASE IMMEDIATELY STOP USAGE OF ANY FEDORA RAWHIDE INSTANCES
=> Suivi chez RH https://bugzilla.redhat.com/show_bug.cgi?id=2272210
=> Fedora Rawhide (Dev concernée), depuis le paquet a été retiré : Downgrade à faire : https://bodhi.fedoraproject.org/updates/FEDORA-2024-d02c7bb266
=> Fedora 38 + 39 non concernées (stables) et beta de 40 non plus (était dans UP-TEST) https://packages.fedoraproject.org/pkgs/xz/xz/

OpenSuse :
=> Non concerné sur Leap et SLES : https://www.suse.com/c/suse-addresses-supply-chain-attack-against-xz-compression-library/
=> Seule TW est concernée https://build.opensuse.org/request/show/1163302 Downgrade a faire

Debian :
=> Stable non concerné https://packages.debian.org/bookworm/xz-utils
=> Testing + Sid concernées et downgrade fait https://lists.debian.org/debian-security-announce/2024/msg00057.html
=> Kali Linux (distrib orientée sécu basée sur ... Testing concernée) : https://www.kali.org/blog/about-the-xz-backdoor/

Ubuntu :
=> 22.04 LTS non concerné https://packages.ubuntu.com/jammy/xz-utils
=> 23.10 Non concerné https://packages.ubuntu.com/mantic/xz-utils
=> Future 24.04 non concernée => pas de comm d'ubuntu https://packages.ubuntu.com/noble/xz-utils

Gentoo :
=> Affectée aussi https://bugs.gentoo.org/show_bug.cgi?id=928134 (probablement pas OpenRC)
=> Paquets masqués : https://packages.gentoo.org/packages/app-arch/xz-utils (auparavant Testing pas stable)

Arch :
=> Concernée : https://archlinux.org/news/the-xz-package-has-been-backdoored/
=> Pas de retour a 5.4 mais suppression des fichiers .m4 https://security.archlinux.org/AVG-2851

Que penser de ça :
- Code malicieux bien planqué qui est resté 1 mois sans être découvert
- Cela peut aussi arriver dans le monde de l'Open Source
- Découverte "par hasard" par Andres Freund
- Grande réactivité des acteurs de l'OPensource pour patcher les systèmes
- Réactivité du CERT sur Twitter https://twitter.com/CERT_FR/status/1773770991346286940 (Centre gouvernemental de veille, d’alerte et de réponse aux attaques informatiques.)
- Rolling Releases touchées plus rapidement (car par définition, intégration plus rapide des nouvelles versions, et donc des bugs et des ... codes malicieux) - Idem pour les versions de développment des distribs Linux (qui ne sont pas utilisées en prod ... normalement)
- Stables Releases, et version LTS épargnées due à des versions figées de versions de logiciels da,s la distribution
- Impact finalement limité dans ce cas, mais si non détecté, ça aurait pu être plus "grave" (Exemple : Intégration d'un XZ 5.6 vérolé dans Ubuntu 24.04 LTS qui sort prochainement et qui n'est pas maintenu à jour par l'administrateur !?)

Que faire :
- Si on utilise un système concerné : le mettre à jour VOIRE LE RÉINSTALLER (On ne sait pas s'il y a des résidus ou déjà eu une prise de contrôle avec ajout d'autres "cochonneries")
- Pour les sysadmins : se renseigner sur la suite. Etre vigilent sur ses systèmes même ceux non concernés (comme toujours)
- Toujours mettre à jour ses systèmes, ses applications, et mettre à jour ses outils de sécurité (Antivirus, EDR, ...)

A propos de l'auteur du code malicieux :
- Vu sur ycombinator : https://news.ycombinator.com/item?id=39865810
- L’auteur apparent de la porte dérobée fait partie du projet xz depuis 2 ans.
- Il a fait le forcing pour intégrer dans Fedora 40 et 41 la nouvelle version soit disant "super nouvelles fonctionnélités"
- Les projets où cette personne a contribuer vont être vigilents je pense...

Pour résumer très rapidement cette backdoor xz/liblzma CVE-2024-3094 c’est : ( https://twitter.com/_adriend_/status/1773801887617151386 )
- Un code caché dans les fichiers de données de test du projet
- Injecte du code pendant le processus de construction de la compilation (et construction des DEB/RPM/PKG)
- Redirige des fonctions cryptographiques utilisées lors des connexions SSH
- Permet un accès au sysytème en contournant les politiques des accès
Détecté par Andres Freund !


Il peut y avoir des fautes de frappe, désolé, mes scripts sont toujours tapés vite, sous forme de listes à puce.
Vous avez le script brut de décoffrage :)