ඔවුන් RubyGems.org හි පැකේජ ප්‍රතිස්ථාපනය කිරීමට ඉඩ සලසන අවදානමක් සොයා ගන්නා ලදී

මෑතකදී ප්රවෘත්ති එය බිඳ දැමීය තීරනාත්මක අවදානමක් හඳුනාගෙන ඇත පැකේජ ගබඩාව rubygems.org (අවදානම දැනටමත් CVE-2022-29176 යටතේ ලැයිස්තුගත කර ඇත), ඉඩ ලබා දේ නිසි අවසරයකින් තොරව, වෙනත් පුද්ගලයින්ගේ පැකේජ ආදේශ කරන්න නිධිය තුළ නීත්‍යානුකූල පැකේජයක් ගෙන ගොස් එම නමම සහ අනුවාද අංකය සහිත වෙනත් ගොනුවක් එහි ස්ථානයේ උඩුගත කිරීම.

එය සඳහන් කර ඇත අවදානම "yank" ක්‍රියා හසුරුවන්නෙහි ඇති දෝෂයක් නිසා වේ, යටි ඉරෙන් පසු නමේ කොටස වේදිකා නාමය ලෙස සලකන අතර, එමඟින් නමේ කොටස යටිකුරු අක්ෂරය දක්වා ගැලපෙන බාහිර පැකේජ ඉවත් කිරීම ආරම්භ කිරීමට හැකි විය.

විශේෂයෙන් මෙහෙයුමේ පාලක කේතයේ "යාන්ක්", ඇමතුම 'find_by!(සම්පූර්ණ_නම: "#{rubygem.name}-#{slug}")' පැකේජ සෙවීම සඳහා භාවිතා කරන ලද අතර, "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ක් සඳහා යාවත්කාලීන කර නොතිබිය යුතුය.

ගැටලුව ආරක්ෂක පර්යේෂකයෙකු විසින් හඳුනා ගන්නා ලදී දන්නා විවෘත මූලාශ්‍ර ව්‍යාපෘතිවල ආරක්‍ෂක ගැටලු සෙවීම සඳහා HackerOne bounty වැඩසටහනේ කොටසක් ලෙස.

ගැටලුව මැයි 5 වෙනිදා RubyGems.org හි සවි කර ඇත සහ සංවර්ධකයින්ට අනුව, සූරාකෑමේ අංශු මාත්‍ර තවමත් හඳුනාගෙන නොමැත පසුගිය මාස 18 සඳහා ලඝු-සටහන් වල ඇති අවදානම. ඒ සමගම මෙතෙක් සිදු කර ඇත්තේ මතුපිටින් පෙනෙන විගණනයක් පමණක් වන අතර ඉදිරියේදී වඩාත් ගැඹුරු විගණනයක් කිරීමට සැලසුම් කර ඇත.

මේ වන විට අපි විශ්වාස කරන්නේ මෙම දුර්වලතාවය ප්‍රයෝජනයට ගෙන නොමැති බවයි.

මැණික් අනුවාදයක් නිකුත් කළ විට හෝ ඉවත් කළ විට RubyGems.org සියලුම මැණික් හිමිකරුවන්ට විද්‍යුත් තැපෑලක් යවයි. අවසරයකින් තොරව තම මැණික් කැණීම් කර ඇති බවට මැණික් හිමිකරුවන්ගෙන් අපට කිසිදු උපකාරක ඊමේල් ලැබී නැත.

පසුගිය මාස 18 තුළ මැණික් වෙනස්වීම් පිළිබඳ විගණනයකදී මෙම අවදානම අනිෂ්ට ලෙස භාවිත කිරීම පිළිබඳ උදාහරණ කිසිවක් හමු නොවීය. මෙම සූරාකෑමේ හැකි ඕනෑම භාවිතයක් සඳහා වැඩිදුර විගණනය කිරීමේදී RubyGems ඉතිහාසය තුළ අවසරයකින් තොරව මැණිකක් පවරා ගැනීම සඳහා මෙම සූරාකෑම භාවිතා කළ අවස්ථාවක් හමු නොවීය. එය කිසි විටෙකත් සිදු නොවූ බව අපට සහතික විය නොහැක, නමුත් එය එසේ විය හැකි බවක් නොපෙනේ.

ඔබගේ ව්‍යාපෘති සත්‍යාපනය කිරීම සඳහා, Gemfile.lock ගොනුවේ මෙහෙයුම් ඉතිහාසය විශ්ලේෂණය කිරීම නිර්දේශ කරනු ලැබේ ද්වේෂසහගත ක්‍රියාකාරකම් එකම නම සහ අනුවාදය සහිත වෙනස්කම් ඉදිරියේ හෝ වේදිකාවේ වෙනසක් (උදාහරණයක් ලෙස, xxx-1.2.3 පැකේජයක් වන විට) . 1.2.3 xxx-XNUMX-xxx වෙත යාවත්කාලීන කර ඇත).

විසඳුමක් ලෙස අඛණ්ඩ ඒකාබද්ධතා පද්ධතිවල හෝ ව්‍යාපෘති ප්‍රකාශයට පත් කිරීමේදී සැඟවුණු පැකේජ වංචා කිරීමට එරෙහිව, සංවර්ධකයින් Bundler භාවිතා කිරීමට නිර්දේශ කරනු ලැබේ විකල්ප සමඟ “–ශීත කළ” හෝ “–නියෝගය” පරායත්තතා තහවුරු කිරීමට.

අවසාන වශයෙන්, ඔබ ඒ ගැන වැඩි විස්තර දැන ගැනීමට කැමති නම්, ඔබට විස්තර පරීක්ෂා කළ හැකිය පහත සබැඳිය.


ලිපියේ අන්තර්ගතය අපගේ මූලධර්මවලට අනුකූල වේ කතුවැකි ආචාර ධර්ම. දෝෂයක් වාර්තා කිරීමට ක්ලික් කරන්න මෙන්න.

අදහස් පළ කිරීමට ප්රථම වන්න

ඔබේ අදහස තබන්න

ඔබේ ඊ-මේල් ලිපිනය පළ කරනු නොලැබේ. අවශ්ය ක්ෂේත්ර දක්වා ඇති ලකුණ *

*

*

  1. දත්ත සඳහා වගකිව යුතු: මිගෙල් ඇන්ජල් ගැටන්
  2. දත්තවල අරමුණ: SPAM පාලනය කිරීම, අදහස් කළමනාකරණය.
  3. නීත්‍යානුකූලභාවය: ඔබේ කැමැත්ත
  4. දත්ත සන්නිවේදනය: නෛතික බැඳීමකින් හැර දත්ත තෙවන පාර්ශවයකට සන්නිවේදනය නොකෙරේ.
  5. දත්ත ගබඩා කිරීම: ඔක්සෙන්ටස් නෙට්වර්ක්ස් (EU) විසින් සත්කාරකත්වය දක්වන දත්ත සමුදාය
  6. අයිතිවාසිකම්: ඕනෑම වේලාවක ඔබට ඔබේ තොරතුරු සීමා කිරීමට, නැවත ලබා ගැනීමට සහ මකා දැමීමට හැකිය.