- Plusieurs symptômes inhabituels liés à liblzma (qui fait partie du paquet xz) ont été observés sur une installation Debian sid : hausse de l’utilisation CPU lors des connexions SSH, erreurs valgrind
- La cause du problème a été identifiée : le dépôt amont et les tarballs de xz étaient infectés par une porte dérobée. Une partie de la porte dérobée n’existe que dans les tarballs distribués
- Le script inclus dans le tarball s’exécute à la fin de
configure et, si certaines conditions sont remplies, modifie $builddir/src/liblzma/Makefile pour y injecter du code malveillant
Porte dérobée dans le dépôt
- La partie principale de la porte dérobée est présente sous forme chiffrée dans le répertoire
tests/files du dépôt
- Ces fichiers n’étaient pas utilisés par les tests de la version 5.6.0, et dans la version 5.6.1 il y a eu une tentative de corriger les erreurs valgrind et les plantages causés par la porte dérobée
Systèmes affectés
- Le script de la porte dérobée est appelé pour la première fois après
configure et ne modifie le processus de build que dans certaines conditions (par ex. systèmes Linux x86-64, utilisation de gcc et de l’éditeur de liens GNU, build de paquets Debian ou RPM)
Impact sur le serveur openssh
- Lorsqu’une version de liblzma avec la porte dérobée est installée, les connexions via SSH deviennent plus lentes
- openssh n’utilise pas directement liblzma, mais certaines distributions, dont Debian, appliquent des correctifs à openssh pour prendre en charge les notifications systemd, et
libsystemd dépend de lzma
Analyse du code injecté
- L’analyse est faite du point de vue d’un observateur qui n’est ni chercheur en sécurité ni expert en rétro-ingénierie
- La porte dérobée intercepte l’exécution via un ifunc resolver et, pendant l’initialisation de
sshd, résout les symboles afin de remplacer le symbole RSA_public_decrypt par son propre code
Impact sur sshd
RSA_public_decrypt@....plt est modifié pour pointer vers le code de la porte dérobée, ce qui fait que ce code est appelé lors d’une authentification par clé publique
- Cela laisserait penser à un contournement de l’authentification ou à une exécution de code à distance
Signalement du bug
- Aucun bug n’a été signalé en raison de soupçons d’implication du dépôt amont
- Red Hat a attribué le CVE-2024-3094 à ce problème
Détection des installations vulnérables
- Un script est fourni pour détecter si le binaire
ssh du système est vulnérable
8 commentaires
Tout ce que je sais sur la porte dérobée de xz
Un article rédigé par Andres Freund, qui a découvert cette porte dérobée.
C’est impressionnant de voir à quel point tout cela a été orchestré de manière méthodique ;; on dirait un scénario de série.
Même écartelé, ce ne serait pas volé.
Pourquoi ?
Comme il s’agit d’un acte consistant à avoir intentionnellement implanté une porte dérobée dans l’open source… et qu’au cours du processus, il y a aussi eu des comportements comme mener discrètement une campagne d’influence sur l’opinion.
Il y a déjà eu auparavant des cas où des vulnérabilités ont été introduites de manière malveillante dans le noyau Linux, donc c’est assez amer.
Ah, je crois que je comprends enfin la nuance. Merci.
Avis Hacker News
Liens associés :
Résumé :
SECURITY.mdau projetxz-java. Ce fichier contient des consignes indiquant que les vulnérabilités de sécurité découvertes ne doivent pas être rendues publiques mais signalées en privé. Vu sous un autre angle, cela peut s’interpréter comme une tentative de gagner du temps pour ajuster son exploit et exploiter ses cibles.5.6.1+really5.4.5-1, qui est en réalité l’ancienne version 5.4 reconditionnée comme une nouvelle version..tar.xzservant de base à certains processus de build. La cible ne serait pas les tarballs du code source, mais ceux qui distribuent des binaires précompilés.