RubyGems.org හි අන්‍යයන්ගේ පැකේජ වංචා කිරීමට ඉඩ සලසන අවදානම

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

අවදානම සාර්ථක ලෙස භාවිතා කිරීම සඳහා, කොන්දේසි තුනක් සපුරාලිය යුතුය:

  • ප්‍රහාරය සිදු කළ හැක්කේ ඔවුන්ගේ නමින් hyphen එකක් ඇති පැකට් මත පමණි.
  • ප්‍රහාරකයෙකුට ඉර අක්ෂරයට පෙර නමේ කොටසක් සහිත මැණික් පැකේජයක් තැබීමට හැකි විය යුතුය. උදාහරණයක් ලෙස, ප්‍රහාරය "rails-html-sanitizer" පැකේජය මත නම්, ප්‍රහාරකයා ඔහුගේම "rails-html" පැකේජය ගබඩාවේ තැබිය යුතුය.
  • ප්‍රහාරයට ලක්වන පැකේජය පසුගිය දින 30 තුළ නිර්මාණය කර තිබිය යුතුය හෝ දින 100ක් සඳහා යාවත්කාලීන නොකළ යුතුය.

අවදානමට හේතු වී ඇත්තේ “යාන්ක්” ක්‍රියා හසුරුවන්නෙහි දෝෂයක් වන අතර, එය හයිෆනයට පසුව නමේ කොටස වේදිකාවේ නම ලෙස අර්ථකථනය කරයි, එමඟින් නමේ කොටසට ගැලපෙන විදේශීය පැකේජ මකාදැමීම ආරම්භ කිරීමට හැකි විය. හයිෆනයට පෙර. විශේෂයෙන්ම, "yank" හැන්ඩ්ලර් කේතයේ, 'find_by!(full_name: "#{rubygem.name}-#{slug}")" ඇමතුම පැකේජ සොයා ගැනීමට භාවිතා කරන අතර, "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

අදහස් එක් කරන්න