RubyGems.org இல் பேக்கேஜ்களை மாற்ற அனுமதிக்கும் பாதிப்பை அவர்கள் கண்டுபிடித்தனர்

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

என்று குறிப்பிடப்பட்டுள்ளது "யாங்க்" ஆக்ஷன் ஹேண்ட்லரில் உள்ள பிழை காரணமாக பாதிப்பு ஏற்படுகிறது, இது ஹைபனுக்குப் பிறகு பெயரின் பகுதியை இயங்குதளப் பெயராகக் கருதுகிறது, இது ஹைபன் எழுத்து வரை பெயரின் பகுதியுடன் பொருந்தக்கூடிய வெளிப்புற தொகுப்புகளை அகற்றுவதைத் தொடங்குவதை சாத்தியமாக்கியது.

குறிப்பாக செயல்பாட்டின் கட்டுப்படுத்தி குறியீட்டில் "யாங்க்", அழைப்பு 'find_by!(முழு_பெயர்: "#{rubygem.name}-#{slug}")' தொகுப்புகளைத் தேடப் பயன்படுத்தப்பட்டது, அதே சமயம் "ஸ்லக்" அளவுரு அகற்றப்பட வேண்டிய பதிப்பைத் தீர்மானிக்க தொகுப்பு உரிமையாளருக்கு அனுப்பப்பட்டது.

"rails-html" தொகுப்பின் உரிமையாளர் "1.2.3" பதிப்பிற்குப் பதிலாக "sanitizer-1.2.3" எனக் குறிப்பிட்டிருக்கலாம், இது "rails-html-sanitizer-1.2.3" க்கு செயல்பாட்டைப் பயன்படுத்த வழிவகுக்கும். வேறொருவரிடமிருந்து தொகுப்பு. »

Rubygems.org க்கான பாதுகாப்பு ஆலோசனை நேற்று வெளியிடப்பட்டது.

இந்த ஆலோசனையானது, தீங்கிழைக்கும் பயனரை குறிப்பிட்ட ரத்தினங்களைச் சுரங்கப்படுத்தவும், அதே பெயர், பதிப்பு எண் மற்றும் வெவ்வேறு தளங்களில் வெவ்வேறு கோப்புகளைப் பதிவேற்றவும் அனுமதிக்கும் பிழையைப் பற்றியது.

பிரித்தெடுக்கும் செயல்முறையின் போது என்ன தவறு நடந்தது என்பதைப் பற்றி ஆழமாகப் பார்ப்போம். ஒரு சாக்குப்போக்காக, பரவலாகப் பயன்படுத்தப்படும் "rails-html-sanitizer" ரத்தினத்தை அங்கீகரிக்கப்படாத அணுகலைப் பெறும் நோக்கத்துடன் "rails-html" எனப்படும் ரத்தினத்தை உருவாக்கும் ஒரு காட்சியை கற்பனை செய்வோம்.

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

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

பிரச்சனை பாதுகாப்பு ஆய்வாளரால் அடையாளம் காணப்பட்டது அறியப்பட்ட திறந்த மூல திட்டங்களில் பாதுகாப்பு சிக்கல்களைக் கண்டறிய ஹேக்கர்ஒன் பவுண்டி திட்டத்தின் ஒரு பகுதியாக.

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

தற்போது, ​​இந்த பாதிப்பு சுரண்டப்படவில்லை என்று நாங்கள் நம்புகிறோம்.

ஒரு ஜெம் பதிப்பு வெளியிடப்படும்போது அல்லது அகற்றப்படும்போது, ​​அனைத்து ரத்தின உரிமையாளர்களுக்கும் RubyGems.org மின்னஞ்சல் அனுப்புகிறது. தங்களுடைய ரத்தினம் அங்கீகாரம் இல்லாமல் வெட்டப்பட்டதாகக் குறிப்பிடும் ரத்தின உரிமையாளர்களிடமிருந்து எந்த ஆதரவு மின்னஞ்சல்களும் எங்களுக்கு வரவில்லை.

கடந்த 18 மாதங்களில் ரத்தின மாற்றங்களின் தணிக்கையில் இந்த பாதிப்பை தீங்கிழைக்கும் வகையில் பயன்படுத்தியதற்கான எடுத்துக்காட்டுகள் எதுவும் கண்டறியப்படவில்லை. இந்தச் சுரண்டலின் சாத்தியமான பயன்பாட்டிற்கான கூடுதல் தணிக்கையில், ரூபிஜெம்ஸ் வரலாற்றில் அங்கீகாரம் இல்லாமல் ஒரு ரத்தினத்தை கையகப்படுத்த இந்த சுரண்டல் பயன்படுத்தப்பட்டதற்கான எந்த நிகழ்வும் இல்லை. அது நடக்கவில்லை என்று எங்களால் உத்தரவாதம் அளிக்க முடியாது, ஆனால் அது நடக்க வாய்ப்பில்லை.

உங்கள் திட்டப்பணிகளைச் சரிபார்க்க, Gemfile.lock கோப்பில் உள்ள செயல்பாடுகளின் வரலாற்றை பகுப்பாய்வு செய்ய பரிந்துரைக்கப்படுகிறது. தீங்கிழைக்கும் செயல்பாடு அதே பெயர் மற்றும் பதிப்பில் மாற்றங்கள் அல்லது இயங்குதள மாற்றம் (எடுத்துக்காட்டாக, ஒரு தொகுப்பு xxx-1.2.3 போது) . 1.2.3 xxx-XNUMX-xxx க்கு புதுப்பிக்கப்பட்டது).

ஒரு தீர்வாக தொடர்ச்சியான ஒருங்கிணைப்பு அமைப்புகளில் அல்லது திட்டங்களை வெளியிடும் போது மறைக்கப்பட்ட தொகுப்புகளை ஏமாற்றுவதற்கு எதிராக, பண்ட்லரைப் பயன்படுத்த டெவலப்பர்கள் பரிந்துரைக்கப்படுகிறார்கள் “–உறைந்த” அல்லது “–வரிசைப்படுத்தல்” விருப்பங்களுடன் சார்புகளை உறுதிப்படுத்த.

இறுதியாக, நீங்கள் அதைப் பற்றி மேலும் அறிய ஆர்வமாக இருந்தால், நீங்கள் விவரங்களை சரிபார்க்கலாம் பின்வரும் இணைப்பு.


கட்டுரையின் உள்ளடக்கம் எங்கள் கொள்கைகளை பின்பற்றுகிறது தலையங்க நெறிமுறைகள். பிழையைப் புகாரளிக்க கிளிக் செய்க இங்கே.

கருத்து தெரிவிப்பதில் முதலில் இருங்கள்

உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது.

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.