Snap தொகுப்பு மேலாண்மை கருவித்தொகுப்பில் உள்ள உள்ளூர் ரூட் பாதிப்புகள்

SUID ரூட் ஃபிளாடுடன் வழங்கப்பட்ட ஸ்னாப்-கன்ஃபைன் பயன்பாட்டில் இரண்டு பாதிப்புகளை (CVE-2021-44731, CVE-2021-44730) Qualys கண்டறிந்துள்ளது மற்றும் ஸ்னாப்ட் செயல்முறையால் அழைக்கப்படுகிறது, இது தன்னிச்சையான தொகுப்புகளில் வழங்கப்படும் பயன்பாடுகளுக்கு இயங்கக்கூடிய சூழலை உருவாக்குகிறது. ஸ்னாப் வடிவத்தில். பாதிப்புகள் ஒரு உள்ளூர் சலுகையற்ற பயனரை கணினியில் ரூட் சலுகைகளுடன் குறியீட்டை இயக்க அனுமதிக்கின்றன. உபுண்டு 21.10, 20.04 மற்றும் 18.04க்கான இன்றைய snapd தொகுப்பு புதுப்பிப்பில் சிக்கல்கள் தீர்க்கப்பட்டுள்ளன.

முதல் பாதிப்பு (CVE-2021-44730) கடின இணைப்பு கையாளுதல் மூலம் தாக்குதலை அனுமதிக்கிறது, ஆனால் கணினி கடின இணைப்பு பாதுகாப்பை முடக்க வேண்டும் (sysctl fs.protected_hardlinks ஐ 0 ஆக அமைக்கிறது). ரூட்டாக இயங்கும் ஸ்னாப்-அப்டேட்-என்எஸ் மற்றும் ஸ்னாப்-டிஸ்கார்ட்-என்எஸ் ஹெல்பர் புரோகிராம்களின் இயங்கக்கூடிய கோப்புகளின் இருப்பிடத்தின் தவறான சரிபார்ப்பினால் சிக்கல் ஏற்படுகிறது. இந்தக் கோப்புகளுக்கான பாதை sc_open_snapd_tool() செயல்பாட்டில் /proc/self/exe இலிருந்து அதன் சொந்த பாதையின் அடிப்படையில் கணக்கிடப்பட்டது, இது உங்கள் கோப்பகத்தில் snap-confine செய்ய கடினமான இணைப்பை உருவாக்கவும், snap-ன் உங்கள் சொந்த பதிப்புகளை வைக்கவும் உங்களை அனுமதிக்கிறது. இந்த கோப்பகத்தில் உள்ள update-ns மற்றும் snap-utilities discard-ns. கடினமான இணைப்பு வழியாக இயங்கிய பிறகு, ரூட் உரிமைகளுடன் snap-confine ஆனது, தற்போதைய கோப்பகத்திலிருந்து snap-update-ns மற்றும் snap-discard-ns கோப்புகளை தாக்குபவர் மூலம் மாற்றியமைக்கும்.

இரண்டாவது பாதிப்பு இனம் நிலை காரணமாக ஏற்படுகிறது மற்றும் இயல்புநிலை உபுண்டு டெஸ்க்டாப் உள்ளமைவில் பயன்படுத்தப்படலாம். உபுண்டு சர்வரில் சுரண்டல் வெற்றிகரமாக வேலை செய்ய, நிறுவும் போது "பிரத்யேக சர்வர் ஸ்னாப்ஸ்" பிரிவில் இருந்து தொகுப்புகளில் ஒன்றைத் தேர்ந்தெடுக்க வேண்டும். ஸ்னாப் பேக்கேஜுக்கான மவுண்ட் பாயிண்ட் நேம்ஸ்பேஸ் தயாரிப்பின் போது அழைக்கப்படும் setup_private_mount() செயல்பாட்டில் ரேஸ் நிலை தெளிவாகத் தெரிகிறது. இந்தச் செயல்பாடு "/tmp/snap.$SNAP_NAME/tmp" என்ற தற்காலிக கோப்பகத்தை உருவாக்குகிறது அல்லது ஒரு ஸ்னாப் தொகுப்பிற்கான கோப்பகங்களை இணைக்க ஏற்கனவே உள்ள ஒன்றைப் பயன்படுத்துகிறது.

தற்காலிக கோப்பகத்தின் பெயர் யூகிக்கக்கூடியதாக இருப்பதால், உரிமையாளரைச் சரிபார்த்த பிறகு, தாக்குபவர் அதன் உள்ளடக்கங்களை குறியீட்டு இணைப்புடன் மாற்றலாம், ஆனால் மவுண்ட் சிஸ்டம் அழைப்பை அழைப்பதற்கு முன். எடுத்துக்காட்டாக, நீங்கள் /tmp/snap.lxd கோப்பகத்தில் தன்னிச்சையான கோப்பகத்தைச் சுட்டிக்காட்டி "/tmp/snap.lxd/tmp" என்ற சிம்லிங்கை உருவாக்கலாம், மேலும் மவுண்ட்()க்கான அழைப்பு, சிம்லிங்கைப் பின்தொடர்ந்து, கோப்பகத்தை மவுண்ட் செய்யும். ஸ்னாப் பெயர்வெளி. அதே வழியில், உங்கள் உள்ளடக்கங்களை /var/lib இல் ஏற்றலாம் மற்றும் /var/lib/snapd/mount/snap.snap-store.user-fstab ஐ மாற்றுவதன் மூலம், உங்கள் /etc கோப்பகத்தின் பெயர்வெளியில் மவுண்டிங்கை ஒழுங்கமைக்கலாம். /etc/ld.so.preload ஐ மாற்றுவதன் மூலம் ரூட் உரிமைகளுடன் உங்கள் நூலகத்தை ஏற்றுவதை ஒழுங்கமைக்க ஸ்னாப் தொகுப்பு.

பாதுகாப்பான நிரலாக்க நுட்பங்களைப் பயன்படுத்தி Go இல் snap-confine பயன்பாடு எழுதப்பட்டிருப்பதால், AppArmor சுயவிவரங்கள், seccomp பொறிமுறையின் அடிப்படையில் கணினி அழைப்புகளை வடிகட்டுதல் மற்றும் பயன்பாடுகள் ஆகியவற்றின் அடிப்படையில் பாதுகாப்பைக் கொண்டிருப்பதால், ஒரு சுரண்டலை உருவாக்குவது அற்பமான செயலாக மாறியது என்பது குறிப்பிடத்தக்கது. தனிமைப்படுத்துவதற்கான மவுண்ட் பெயர்வெளி. இருப்பினும், கணினியில் ரூட் உரிமைகளைப் பெற ஆராய்ச்சியாளர்கள் ஒரு வேலை சுரண்டலைத் தயாரிக்க முடிந்தது. பயனர்கள் வழங்கிய புதுப்பிப்புகளை நிறுவிய சில வாரங்களில் சுரண்டல் குறியீடு வெளியிடப்படும்.

ஆதாரம்: opennet.ru

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