Backdoor-t találtak az XZ Utils library-ban, több nagyobb Linux disztribútor is érintett

RedHat on Friday released an "urgent security alert" warning that two versions of a popular data compression library called XZ Utils (previously LZMA Utils) have been backdoored with malicious code designed to allow unauthorized remote access.

The software supply chain compromise, tracked as CVE-2024-3094, has a CVSS score of 10.0, indicating maximum severity. It impacts XZ Utils versions 5.6.0 (released February 24) and 5.6.1 (released March 9).

Az érintett disztribúciók közt van:

Evidence shows that the packages are only present in Fedora 41 and Fedora Rawhide, and do not impact Red Hat Enterprise Linux (RHEL), Debian Stable, Amazon Linux, and SUSE Linux Enterprise and Leap.

Out of an abundance of caution, Fedora Linux 40 users have been recommended to downgrade to a 5.4 build. Some of the other Linux distributions impacted by the supply chain attack are below -

Részletek itt és itt.

Hozzászólások

Ezér' kő' mindig rohanni, nem?! Nem.

trey @ gépház

A fely lödés nem álhat le! Haladni kel a korall! Hűje lagard csícska héter! Az áló visz mek poshad, a fojo patak fris lessz! Kéteszer húszonégy van vagy, mi! Régi = rósz! Újj = lyó!

(^Azért írtam ide, hogy H. Aladáréknak már ne kelljen, és több idejük maradjon progresszióra. :) )

Azért nem ez a jellemző, sokkal gyakoribb hogy egy szoftver régi verziójában lévő réseket használnak fel a támadók.

Ez az eset pedig bár tényleg durva, ténylegesen nem sok embert érint, arch derivátum meg bleeding edge rendszerek jellemzően kliensek gépein futnak, szervereken futó stable ágak nem érintettek.

Én örülök neki, hogy van, aki rohan. A Debian még csak 5.4.1-nél tart.

Amúgy ez durva:
"Through a series of complex obfuscations, the liblzma build process extracts a prebuilt object file from a disguised test file existing in the source code, which is then used to modify specific functions in the liblzma code"

Bár a kivitelezés amatőr, az a durva, hogy egyesek ilyesmikkel foglalkoznak, és ezek be tudnak kerülni a forrásfákba.

 

trey @ gépház

Azért érdemes elolvasni az openwall-os elemzést. Azon tool hogy supply chain attack, szép hosszan, türelmesen kivitelezett, apró lépésekkel. 

 

Csak azért bukott le idő előtt,  mert gyanús lett, hogy lassabban indul el az SSH.

 

De amúgy zseniális, hogy egy compression test case-ben a dokumentációban volt a backdoor elrejtve.

A fordításkor a configure patchelte meg a makefile-t hogy belinkelje a malicious kódot. 

Iskola példa gyanús.

Szerkesztve: 2024. 03. 30., szo – 14:10

Kellett a CPU-bloat xz-t defaulttá tenni mindenhol, azért a max. 10%-kal jobb tömörítési arányért, amennyit hoz a nála jóval erőforráshatékonyabb gzip-hez képest, a gigabites internetkapcsolatok világában. Cserébe 2x annyi CPU idő kell a kitömörítéshez és 13x annyi a betömörítéshez és most már ajándék rootkit is jár hozzá.

Well done, babzsákfejlesztők.

Megéri™

Ezért van az, hogy a fotelhuszár felhasználók mindíg eldöntik, hogy nem preferált linux diszríbúciókat használnak (sls, gentoo mínusz systemd, salak, devuan, stb.), majd azzal lendülettel ubuntut, fedora és derivánsaikat telepítik.

Magyarul, ami biztonságos, az nem átlag felhasználó gépén lesz használva.

A netbsd nem az (*mármint nem átlag felhasználók rendszere).

Szerk*

Ezt kitárgyaltuk már a kapcsolatos topikban. Nem az xz itt a baj, az ilyen görény, károkozó fejlesztők, ha kell, a kedvenc gzip-edbe is betették volna ezt a szutykot. Azt kell érteni, hogy ez itt konkrétan nem az xz hibája volt.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

A "software supply chain"-nek nem ott kéne kezdődnie, hogy minden git repóból jöjjön? Nyilván az is támadható, de azért nehezebb mint egy tarballt.

Nekem az tetszik kifejezetten, hogy a kártékony változások Jia75, az xz Utils két fő fejlesztője közül az egyik nevében lettek beküldve.

A cikk szerint, vagy a fejlsztő maga küldte be ezeket, vagy valaki(k) felnyomták a rendszerét, de annak alapján, hogy hogyan és miket kommunikált ezekről a "javításokról", nem tűnik a második lehetőség valószínűnek.

Egyébként azt írják, hogy két éve dolgozott Jia75 a projekten, egy csomó dolgot beküldött, és ugyan csak a fent említett verziókban találták meg a backdoort, de most már gyanúsnak tartanak mindent, amit ez alatt az idő alatt beküldött, és a régebbi verziókat is, amik ezeket a beküldéseket tartalmazzák.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

Egyetértek, senkinek nem törték fel a fiókját, ez a Jia nevű valami ukrán, kínai, orosz, vagy hasonló agyagedény volt, ezt az aljas akcióját már hosszú ideje készítette elő.

Egyébként ez az xz projektvezetőjének a hibája is volt. Az xz-ről azt kell tudni, hogy 10 éve is lényegében feature complete volt (mivel csak egy Unix-filozófiás CLI tool), ezért az utóbbi időben alig voltak hozzá újonnan kiadott verziók. Szépen magára hagyta a projektet, nem nézte, hogy kit enged commitálni a projektbe, nem nézte át a commitokat, kulázott bele az egészbe. Pedig ennek a Jia-nak a kódja nagyon gányolt, nagyon gyanús, feleslegesen hosszú, kriptikus, obfuszkált kódsorok, azonnal lejön belőle, hogy valami nem kerek. Nem egy becsületesen megírt, átlátható, tiszta kód.

Ez az a rész, amit Torvalds zseniálisan csinál, nem engedi a projektjét elfajulni, hogy hülyék szabadon gányolhassanak bele, nagyon szigorúan nézi, hogy kitől és milyen kódot fogad be, milyen minőségben, átláthatóságban, tényleg nagyon agresszív, mindenkire rápirít, átnézi Hartmannal együtt a kódokat, nem lustáznak, meg nem fullad az egész nemtörődömségbe. Tényleg a kerneleseknél egy ilyen Jia féle csicska bepróbálkozna a retardált szutykaival, már a levlistáról, a kód befogadása előtt úgy vágnák ki, mint a macskát eü-sétára, még nyekkenni se lenne ideje.

A másik tanulsága meg a történetnek, hogy a systemd, meg liblzma, meg egyéb szutykot nem kell mindenbe belelinkelni, olyan dolgokba is, aminek nincs rá szüksége, pl. OpenSSH. Én ezt írogatom már a HUP-ra is évek óta, hogy miért fontos a minimalizmus, hogy valaminek minél kevesebb kódsora és függősége legyen. Nem azért, mert ne lenne megfizethető az erős proci, sok memória, rengeteg tárhely, hanem pont az ilyen esetek elkerülésére, hogy a túl sok függőségnek a komplex kódjába malware-t tudjon belefosni, meg szétbugosodjon, szétlyukasodjon biztonságilag az egész idővel, és a komplex kódot onnan már csak profi cégek tudják drágán, nagy fejlesztői erőforrásokkal foltozgatni, maguk előtt tologatni.

Lehet, hogy ezzel a véleménnyel most szemétnek fogok tűnni, de kellett ez a pofon most a linuxos világnak, hogy az ilyenek jövőbeli kivédésére bevezessenek védelmi mechanizmusokat, meg projektek ne lazázzanak, felesleges függőséget a disztrók ne linkeljenek a binárisokba, illetve hogy disztróknál a csomagolók, karbantartók is jobban megnézzék a kódot, amiből a csomagot csinálják. Ez egy többszereplős játék, mindenkinek le kell futni a körét vele, hozzátenni a saját részét, amit nem lazázhat el, akkor se, ha nonprofitként dolgozik bele a projektbe, hobbiként, tanulás jelleggel, stb..

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Itt egy releváns blog post:

https://boehs.org/node/everything-i-know-about-the-xz-backdoor

- nem szart bele, de mentális problémákkal küzd a fejlesztő - bárki küzdhet mentális problémákkal, a fejlesztés nem ad felmentést

- több célzott ál-felhasználóval visszatérően ösztökélték, megpróbálták kényszerhelyzetbe hozni

UTC +2/+3 időzónában él(nek), Orosz/Ukrán gyanús. Kínai újév során tevékeny volt, Húsvétkor nem volt aktív. Valószínűleg nem kínai, a név fabrikált lehet.

Érdekelne, hogy a katolikus, vagy az ortodox húsvét szerint nem dolgozott, mert Ukrajna az utóbbi időben demonstratíven próbál nyugatosodni és ez differenciálhat az ukrán és az orosz között...

A fő kérdés itt a nyílt forrású fejlesztés immunrendszere. Ez projektfüggő. Itt elindult egy betegség, de a kezdeti tüneteket követően megfékezték, nem tudott elhatalmasodni.

Vannak olyan egyetemi projektek is, ahol bepróbálták a nyílt forrású közösséget, az ilyen visszhangja ellentmondásos volt.

Vajon mennyire tudják kiszűrni egy vállalatnál, ha elmegy dolgozni egy ilyen kártékony fickó, hogy nem nyom tele zavaros malware-rel egy terméket?

Nemzetvédelmi szolgálatok helyében már rég telepítettem volna 1-2 ügynököt nagyobb cégekbe.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Vajon mennyire tudják kiszűrni egy vállalatnál, ha elmegy dolgozni egy ilyen kártékony fickó, hogy nem nyom tele zavaros malware-rel egy terméket?

Biztos megoldhato valahogy, nalunk kene 3 beszervezett fejleszto, egy vagy ket beszervezett QA, meg egy nagyobb adag szerencse, hogy a kerdeses PR-nak es commitoknak senki ne nezze meg veletlenul a tartalmat.

Annyira nem trivialis megoldani.

https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27?per…

Úgy tűnik a katolikus húsvétról van szó. Szóval hol ünneplik a katolikus húsvétot UTC+2/+3 időzónában?

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Ukrajnában úgy írják, hogy nyugati átállás ide-vagy-oda, az ortodox és a katolikus egyház külön tartja a húsvétot.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Finnország? Románia? Balti államok? Dél-Afrika? Van egy csomó ország, ami ugyanaz az időzóna és nem ortodox. Feltételezem katolikus alatt bármi nem ortodox keresztény vallást értünk, lehetnek akár reformátusok is, ha ugyanakkor ünnepelnek, mint a katolikusok.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

Közben én is megtaláltam ezeket. Oké, a mentális probléma nem az ő hibája, de miért nem adta akkor is át valaki megbízhatónak a projektet. Lényegében magára hagyta, ezzel lehetetlen helyzetbe hozta. Igen, ingyen fejlesztett, persze elismerem, hogy ez nem csak az ő hibája, hanem bárkié is, aki átvehette volna a projektet, meg cégek is támogathatták volna a projektet, pénzzel, fejlesztővel.

Azt se értem, hogy ismeretlennek miért adta oda a projektet, igen, unszolták álneveken, de most azért senki nem tartott pisztolyt a bordájához.

Ezek szerint tényleg érdemes beajánlkozni ilyen halott projekteknél, még ha az ember nem is ad hozzá sokat a kódhoz, csak a git-en a readme.md-t, kiadásokat reszelgeti, meg az issue-kat kezeli, válaszolgat rájuk, már az segítség a projektnek, meg felügyel rá, hogy ilyen kétes népek ne próbáljanak belecsempészni semmit a kódba, ne nyomja fel senki a tárolót, stb..

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Akár, bár nem én lennék rá a legalkalmasabb, de még velem is jobban járt volna, mint ezzel a JiaTan csicskaemberrel, mert legalább nem szartam volna bele a kódba, meg másokat se engedtem volna. Viszont van erre sok alkalmasabb ember. Remélem megjön az esze, és átadja valaki megbízhatónak a projektet. Akár még valaki a FreeBSD-sek, OpenBSD-sek közül is átvehetné, nem érdekel ki, csak ne ilyen kétes, anonim emberke legyen.

Az xz amúgy is feature complete, az LZMA algoritmus már nem fejlődik, szabványosítva van, maga az xztool-ok egyszerű CLI megoldások, sok feature-t már nem is kell, nem is lehet hozzáadni. Max. csak annyi erejéig gondozni, hogy ne törjön el a fordítás, makefile, meg ha találnak valami optimalizációt, teljesítménybeli bottlenecket, vagy valami buffer overrun támadást, akkor az alap szinten, pár kódsorral meg lehet oldva.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Persze, ez egy unix-filozófiás tömörítő. Annyit kell tudnia, hogy a parancssori kapcsolókat értelmezi, meg sztenderd be/kiementre, egy szál fájlba tudjon fokozatokban ki/betömöríteni. Nem kell bele semmilyen extra feature, azt a Unix-filozófia miatt más eszközök pótolják. Pl. nem kell neki mappákat, linkeket, fájljogosultságokat, rekurzivitást, frissítést, stb. lekezelni, szolid tömörítést, stb. tudni, mert ezt pótolja a tar, amit közbeiktat mindenki, esetleg mkisofs vagy egyébbel is kivitelezhető. Még titkosítást, konzisztenciaellenőrzést, önkibontást se kell tudjon, mert ez megint megoldható más eszközökbe pipe-olással, pl. shasum, fájlrendszerek naplói, checksum-jai, shell script, illetve pgp, openssl, pass, stb. révén. Fájlszeletelés se kell bele, az megoldható utólag a split paranccsal, a fájlszeletek meg összeilleszthetők cat-tel, ezek a POSIX specifikáció miatt megint minden ilyen rendszeren a core utils, rendszer-alaptelepítés részei.

Pont ez a lényege, hogy egyszerű, pár KB, elmegy egy 30 éves gépen is akár. Ha valaki bonyolultabb funkciókat akar vele, az épít hozzá GUI frontendet, már van számos ilyen is, 7-zip, PeaZip, stb.. Ez nem xz specifikus, a unixos világban az összes tömörítő szándékosan erre az egyszerű sablonra megy rá: ar, cpio, compress, a gzip, a bzip2, zstd, lz4, még az újak is, brotli, zopfi, zpaq, qpaq, stb..

Így egy projektfenntartónak nem kell vele sokat foglalkozni, ha 5 évente egyszer netán lenne benne valami buffer overrun sérülékenység, vagy memory leak, vagy valamelyik rendszeren nem fordulna le, csak annyi erejéig kell ránézni, karban tartani. Egy érdeklődő informatikus hallagató is meg tudja ezt tenni, nem kell hozzá milliárd dolláros multinak a sok fejlesztői órát, tőkét belelapátolni, ShitGPT, MS Copilot AI, meg ilyen JiaTan álnéven futó szemetek.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Azt se értem, hogy ismeretlennek miért adta oda a projektet, igen, unszolták álneveken, de most azért senki nem tartott pisztolyt a bordájához.

De nem ismeretlennek adta.

Ezek szerint tényleg érdemes beajánlkozni ilyen halott projekteknél, még ha az ember nem is ad hozzá sokat a kódhoz

De ezzel most magadnak mondasz ellent, nem? :)

Jól értem, hogy egy key only SSHD-n is be tud menni emiatt egy jól felkészült támadó, ha a disztró érintett a problémában?

Valami olyasmi:

TL;DR – the end goal of the malicious backdoor introduced by CVE-2024-3094, is to inject code to the OpenSSH server (SSHD) that runs on the victim machine, and allow specific remote attackers (that own a specific private key) to send arbitrary payloads through SSH which will be executed before the authentication step, effectively hijacking the entire victim machine.

https://jfrog.com/blog/xz-backdoor-attack-cve-2024-3094-all-you-need-to-know/

https://gist.github.com/smx-smx/a6112d54777845d389bd7126d6e9f504

Ez a videó szépen összeszedte a részleteket.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)