RubyGems.org இல் உள்ள பாதிப்பு, இது மற்றவர்களின் தொகுப்புகளை ஏமாற்ற அனுமதிக்கிறது

RubyGems.org தொகுப்பு களஞ்சியத்தில் ஒரு முக்கியமான பாதிப்பு (CVE-2022-29176) அடையாளம் காணப்பட்டுள்ளது, இது முறையான அதிகாரம் இல்லாமல், சட்டப்பூர்வ தொகுப்பின் யாக்கை துவக்கி அதன் இடத்தில் ஏற்றுவதன் மூலம் களஞ்சியத்தில் வேறு சிலரின் தொகுப்புகளை மாற்ற அனுமதிக்கிறது. அதே பெயர் மற்றும் பதிப்பு எண் கொண்ட மற்றொரு கோப்பு.

பாதிப்பை வெற்றிகரமாகப் பயன்படுத்த, மூன்று நிபந்தனைகளை பூர்த்தி செய்ய வேண்டும்:

  • பெயரில் ஹைபன் உள்ள பாக்கெட்டுகள் மீது மட்டுமே தாக்குதல் நடத்த முடியும்.
  • தாக்குபவர், ஹைபன் எழுத்துக்கு முன் பெயரின் ஒரு பகுதியுடன் கூடிய ரத்தினப் பொதியை வைக்க வேண்டும். எடுத்துக்காட்டாக, தாக்குதல் "rails-html-sanitizer" தொகுப்பில் இருந்தால், தாக்குபவர் தனது சொந்த "rails-html" தொகுப்பை களஞ்சியத்தில் வைக்க வேண்டும்.
  • தாக்கப்பட்ட தொகுப்பு கடந்த 30 நாட்களுக்குள் உருவாக்கப்பட்டிருக்க வேண்டும் அல்லது 100 நாட்களுக்கு புதுப்பிக்கப்படாமல் இருக்க வேண்டும்.

"யாங்க்" ஆக்ஷன் ஹேண்ட்லரில் ஏற்பட்ட பிழையால் பாதிப்பு ஏற்படுகிறது, இது ஹைபனுக்குப் பிறகு பெயரின் பகுதியை தளத்தின் பெயராக விளக்குகிறது, இது பெயரின் பகுதியுடன் பொருந்தக்கூடிய வெளிநாட்டு தொகுப்புகளை நீக்குவதைத் தொடங்குவதை சாத்தியமாக்கியது. ஹைபனுக்கு முன். குறிப்பாக, "yank" ஹேண்ட்லர் குறியீட்டில், 'find_by!(full_name: "#{rubygem.name}-#{slug}")" அழைப்பு தொகுப்புகளைக் கண்டறிய பயன்படுத்தப்பட்டது, அதே நேரத்தில் "ஸ்லக்" அளவுருவை அனுப்பப்பட்டது. அகற்றப்பட வேண்டிய பதிப்பைத் தீர்மானிக்க தொகுப்பு உரிமையாளர். "rails-html" தொகுப்பின் உரிமையாளர் "1.2.3" பதிப்பிற்குப் பதிலாக "sanitizer-1.2.3" எனக் குறிப்பிடலாம், இது வேறொருவரின் தொகுப்பான "rails-html-sanitizer-1.2.3" இல் செயல்பாட்டைப் பயன்படுத்துவதற்கு வழிவகுக்கும். ".

அறியப்பட்ட ஓப்பன் சோர்ஸ் திட்டங்களில் பாதுகாப்புச் சிக்கல்களைக் கண்டறிவதற்கான HackerOne இன் பவுண்டி திட்டத்தின் ஒரு பகுதியாக பாதுகாப்பு ஆராய்ச்சியாளரால் இந்தச் சிக்கல் கண்டறியப்பட்டது. மே 5 அன்று RubyGems.org இல் இந்தச் சிக்கல் சரி செய்யப்பட்டது மற்றும் டெவலப்பர்களின் கூற்றுப்படி, கடந்த 18 மாதங்களில் பதிவுகளில் உள்ள பாதிப்பின் சுரண்டலின் எந்த தடயத்தையும் அவர்கள் இன்னும் அடையாளம் காணவில்லை. அதேநேரம், இதுவரை மேலோட்டமான தணிக்கை மட்டுமே மேற்கொள்ளப்பட்டு, எதிர்காலத்தில் இன்னும் ஆழமான தணிக்கை நடத்த திட்டமிடப்பட்டுள்ளது.

உங்கள் திட்டங்களைச் சரிபார்க்க, Gemfile.lock கோப்பில் செயல்பாடுகளின் வரலாற்றை பகுப்பாய்வு செய்ய பரிந்துரைக்கப்படுகிறது; தீங்கிழைக்கும் செயல்பாடு பெயர் மற்றும் பதிப்பைப் பாதுகாத்தல் அல்லது தளத்தின் மாற்றத்துடன் மாற்றங்கள் முன்னிலையில் வெளிப்படுத்தப்படுகிறது (உதாரணமாக, ரத்தினப்பெயர் போது -1.2.3 தொகுப்பு gemname-1.2.3-java க்கு புதுப்பிக்கப்பட்டது). தொடர்ச்சியான ஒருங்கிணைப்பு அமைப்புகளில் அல்லது திட்டங்களை வெளியிடும் போது மறைக்கப்பட்ட தொகுப்பு மாற்றீடுகளுக்கு எதிராக பாதுகாப்பதற்கான ஒரு தீர்வாக, சார்புகளை சரிசெய்ய டெவலப்பர்கள் "-frozen" அல்லது "-deployment" விருப்பங்களுடன் Bundler ஐப் பயன்படுத்த பரிந்துரைக்கப்படுகிறார்கள்.

ஆதாரம்: opennet.ru

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