கணினியில் உள்ள கோப்புகளை மேலெழுதுவதற்கு வழிவகுக்கும் NPM இல் உள்ள பாதிப்பு

தார் மற்றும் @npmcli/arborist தொகுப்புகளில் உள்ள ஏழு பாதிப்புகள் பற்றிய விவரங்களை GitHub வெளிப்படுத்தியுள்ளது, இது தார் காப்பகங்களுடன் பணிபுரியும் மற்றும் Node.js இல் சார்பு மரத்தைக் கணக்கிடுவதற்கான செயல்பாடுகளை வழங்குகிறது. பிரத்யேகமாக வடிவமைக்கப்பட்ட காப்பகத்தைத் திறக்கும்போது, ​​தற்போதைய அணுகல் உரிமைகள் அனுமதிக்கும் வரை, பேக்கிங் மேற்கொள்ளப்படும் ரூட் கோப்பகத்திற்கு வெளியே கோப்புகளை மேலெழுத, பாதிப்புகள் அனுமதிக்கின்றன. சிக்கல்கள் கணினியில் தன்னிச்சையான குறியீட்டை செயல்படுத்துவதை ஒழுங்கமைக்கச் செய்கின்றன, எடுத்துக்காட்டாக, ~/.bashrc அல்லது ~/.profile க்கு கட்டளைகளைச் சேர்ப்பதன் மூலம், ஒரு சிறப்புரிமை இல்லாத பயனரால் செயல்படும் போது அல்லது கணினி கோப்புகளை மாற்றுவதன் மூலம் வேர்.

npm தொகுப்புகளுடன் செயல்பாடுகளைச் செய்யும்போது npm தொகுப்பு மேலாளரில் சிக்கல் குறியீடு பயன்படுத்தப்படுவதால் பாதிப்புகளின் ஆபத்து அதிகரிக்கிறது, இது சிறப்பாக வடிவமைக்கப்பட்ட npm தொகுப்பை களஞ்சியத்தில் வைப்பதன் மூலம் பயனர்கள் மீதான தாக்குதலை ஒழுங்கமைக்க உதவுகிறது. இதில் தாக்குபவரின் குறியீட்டை கணினியில் செயல்படுத்தும். "-ignore-scripts" பயன்முறையில் தொகுப்புகளை நிறுவும் போது கூட தாக்குதல் சாத்தியமாகும், இது உள்ளமைக்கப்பட்ட ஸ்கிரிப்ட்களை செயல்படுத்துவதை முடக்குகிறது. மொத்தத்தில், ஏழு பாதிப்புகளில் நான்கு பாதிப்புகளை (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 மற்றும் CVE-2021-39135) npm பாதிக்கிறது. முதல் இரண்டு சிக்கல்கள் தார் தொகுப்பைப் பற்றியது, மீதமுள்ள இரண்டு @npmcli/arborist தொகுப்பைப் பற்றியது.

மிகவும் ஆபத்தான பாதிப்பு, CVE-2021-32804, ஒரு தார் காப்பகத்தில் குறிப்பிடப்பட்ட முழுமையான பாதைகளை அழிக்கும் போது, ​​மீண்டும் மீண்டும் "/" எழுத்துகள் தவறாக செயலாக்கப்படுகின்றன-முதல் எழுத்து மட்டுமே அகற்றப்படும், மீதமுள்ளவை மீதமுள்ளன. எடுத்துக்காட்டாக, "/home/user/.bashrc" பாதை "home/user/.bashrc" ஆகவும், "//home/user/.bashrc" பாதை "/home/user/.bashrc" ஆகவும் மாற்றப்படும். இரண்டாவது பாதிப்பு, CVE-2021-37713, Windows இயங்குதளத்தில் மட்டுமே தோன்றும் மற்றும் வரம்பற்ற இயக்கி எழுத்து (“C:some\path”) மற்றும் முந்தைய கோப்பகத்திற்குத் திரும்புவதற்கான வரிசையை உள்ளடக்கிய தொடர்புடைய பாதைகளை தவறாக சுத்தம் செய்வதோடு தொடர்புடையது ( “C:../foo”) .

பாதிப்புகள் CVE-2021-39134 மற்றும் CVE-2021-39135 @npmcli/arborist தொகுதிக்கு குறிப்பிட்டவை. கோப்பு முறைமையில் (macOS மற்றும் Windows) உள்ள எழுத்துக்களை வேறுபடுத்தாத கணினிகளில் மட்டுமே முதல் சிக்கல் தோன்றும், மேலும் சார்புகளில் இரண்டு தொகுதிகள் '"foo" ஐக் குறிப்பிடுவதன் மூலம் கோப்பு முறைமையின் தன்னிச்சையான பகுதிக்கு கோப்புகளை எழுத உங்களை அனுமதிக்கிறது. : "file:/some/path"' மற்றும் ' FOO: "file:foo.tgz"', இதன் செயலாக்கமானது /some/path கோப்பகத்தின் உள்ளடக்கங்களை நீக்குவதற்கும் foo.tgz இன் உள்ளடக்கங்களை அதில் எழுதுவதற்கும் வழிவகுக்கும். இரண்டாவது சிக்கல் குறியீட்டு இணைப்பு கையாளுதல் மூலம் கோப்புகளை மேலெழுத அனுமதிக்கிறது.

Node.js வெளியீடுகள் 12.22.6 மற்றும் 14.17.6, npm CLI 6.14.15 மற்றும் 7.21.0 மற்றும் தனிப்பட்ட தார் தொகுப்பு வெளியீடுகள் 4.4.19, 5.0.11 மற்றும் 6.1.10 ஆகியவற்றில் பாதிப்புகள் தீர்க்கப்படுகின்றன. "பிழை பவுண்டி" முயற்சியின் ஒரு பகுதியாக பிரச்சனை பற்றிய தகவலைப் பெற்ற பிறகு, GitHub ஆராய்ச்சியாளர்களுக்கு $14500 செலுத்தியது மற்றும் களஞ்சியத்தின் உள்ளடக்கங்களை ஸ்கேன் செய்தது, இது பாதிப்புகளை சுரண்டுவதற்கான முயற்சிகளை வெளிப்படுத்தவில்லை. இந்தச் சிக்கல்களில் இருந்து பாதுகாக்க, குறியீட்டு இணைப்புகள், கடின இணைப்புகள் மற்றும் களஞ்சியத்திற்கான முழுமையான பாதைகளை உள்ளடக்கிய NPM தொகுப்புகளை வெளியிடுவதை GitHub தடை செய்துள்ளது.

ஆதாரம்: opennet.ru

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