[TLP:CLEAR] Xz/liblzma 5.6.0 a 5.6.1 obsahujú backdoor
V oficiálnych distribučných balíčkoch zdrojových kódov kompresného nástroja xz, ktorého súčasťou je knižnicia liblzma, vo verziách 5.6.0 a 5.6.1 sa nachádza backdoor využiteľný v kombinácii s SSH serverom OpenSSH. Verzie sú pomerne nové 5.6.0 bola vydaná 24.02.2024 [3] a 5.6.1 dňa 09.03.2024 [4], takže zatiaľ nie sú príliš rozšírené. Dotknutými distribúciami sú Debian Sid (testing), ktorý sa už vrátil k 5.4.5 v rámci DSA 5649-1 [5], Fedora (40 a 41/Rawhide), kde je vydaná oprava a varovanie [6], a ďalej Arch, Gentoo, Slackware-current, NixOS testing, Alpine Edge a ďalšie - zatiaľ najkompletnejší zoznam je na blogu [7], vrátane informácií, že backdoor sa týka len AMD64 systémov a vyžaduje použitie glibc (iné implementácie nemajú podporu nepriamych funkcií IFUNC [8]). Kompletná analýza bola publikovaná Andresom Freundom na fóre oss-security [9], kde sa následne rozbehla diskusia o rozsahu a dopadoch. Analýza [9] obsahuje aj deobfuskovaný kód a vyplýva z nej, že backdoor využíva stealth techniky a postihnuté sú teda aktuálne len binárky s názvom sshd - OpenSSH server, ktoré ale sa ale štandardne voči liblzma nelinkuje, čo menia napr. Debian a Fedora. Backdoor tiež kontroluje beh v termináli, v debuggeri, či použitie LD_PRELOAD, kedy sa neaktivuje, detaily sú v [9]. Na GitHub-e projektu bol otvorený lístok [10], kde sa diskutuje úmysel autorov - ten je ale už len ťažko spochybniteľný, napr. verzia 5.6.1 [4] maskuje rozšírenie funkčnosti backdooru za opravu chýb. Odporúčanie: Kontrola používanej verzie xz a liblzma: $ xz --version V prípade verzií 5.6.0 či 5.6.1 prechod na staršiu verziu, napr. poslednú stabilnú 5.4.6 [2] a kontrola stroja na infekciu. Ak na stroji zároveň beží OpenSSH server otvorený do Internetu, pokladať stroj za kompromitovaný.
Obfuskovaný backdoor v oficiálnych balíčkoch xz ktorý pri kompilácii modifikuje chovanie knižnice liblzma voči aplikáciám, ktoré ju využívajú [1].
Zraniteľnosť sa nachádza v produktoch:
- xz vo verziách >=5.6.0
- liblzma vo verziách >=5.6.0
Kontrola používanej verzie xz a liblzma: $ xz --version V prípade verzií 5.6.0 či 5.6.1 prechod na staršiu verziu, napr. poslednú stabilnú 5.4.6 [2] a kontrola stroja na infekciu. Ak na stroji zároveň beží OpenSSH server otvorený do Internetu, pokladať stroj za kompromitovaný.
CVSS: 10.0
Viac informácií:
- CVE-2024-3094 at cve.org, NVD, GitHub, CIRCL.LU, Debian, Ubuntu, Red Hat, SUSE
- CWE-506: Embedded Malicious Code at cwe.mitre.org
Zraniteľnosť bola verejne oznámená 29. 3. 2024.
Odkazy
- [1] https://nvd.nist.gov/vuln/detail/CVE-2024-3094
- [2] https://github.com/tukaani-project/xz/releases/tag/v5.4.6
- [3] https://github.com/tukaani-project/xz/releases/tag/v5.6.0
- [4] https://github.com/tukaani-project/xz/releases/tag/v5.6.1
- [5] https://lists.debian.org/debian-security-announce/2024/msg00057.html
- [6] https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users
- [7] https://xeiaso.net/notes/2024/xz-vuln/
- [8] https://sourceware.org/glibc/wiki/GNU_IFUNC
- [9] https://www.openwall.com/lists/oss-security/2024/03/29/4
- [10] https://github.com/tukaani-project/xz/issues/92