তারা RubyGems.org-এ একটি দুর্বলতা আবিষ্কার করেছে যা প্যাকেজগুলি প্রতিস্থাপন করতে দেয়

সম্প্রতি সেই খবরটি ভেঙে গেল একটি জটিল দুর্বলতা চিহ্নিত করা হয়েছিল প্যাকেজ সংগ্রহস্থল rubygems.org (দুর্বলতা ইতিমধ্যে CVE-2022-29176 এর অধীনে তালিকাভুক্ত করা হয়েছে), যা এটা করতে পারবেন যথাযথ অনুমোদন ছাড়া, অন্য মানুষের প্যাকেজ প্রতিস্থাপন রিপোজিটরিতে একটি বৈধ প্যাকেজকে ইয়াঙ্ক করে এবং তার জায়গায় একই নাম এবং সংস্করণ নম্বর সহ অন্য ফাইল আপলোড করে।

এটি উল্লেখ করা হয় "yank" অ্যাকশন হ্যান্ডলারে একটি বাগ এর কারণে দুর্বলতা, যা হাইফেনের পরে নামের অংশটিকে প্ল্যাটফর্মের নাম হিসাবে বিবেচনা করে, যা হাইফেন অক্ষরের সাথে নামের অংশের সাথে মেলে এমন বহিরাগত প্যাকেজগুলি অপসারণ শুরু করা সম্ভব করে।

বিশেষত অপারেশনের নিয়ামক কোডে "হ্যাঙ্ক", কল 'find_by!(full_name: "#{rubygem.name}-#{slug}")' প্যাকেজগুলি অনুসন্ধান করতে ব্যবহৃত হয়েছিল, যখন "স্লাগ" প্যারামিটারটি প্যাকেজ মালিকের কাছে পাঠানো হয়েছিল যে সংস্করণটি সরানো হবে তা নির্ধারণ করতে।

"rails-html" প্যাকেজের মালিক "1.2.3" সংস্করণের পরিবর্তে "স্যানিটাইজার-1.2.3" নির্দিষ্ট করতে পারতেন, যার ফলে অপারেশনটি "rails-html-স্যানিটাইজার-1.2.3" এ প্রযোজ্য হবে। প্যাকেজ ″ অন্য কারো কাছ থেকে। »

Rubygems.org এর জন্য একটি নিরাপত্তা উপদেষ্টা গতকাল প্রকাশিত হয়েছে।

অ্যাডভাইসরিটি এমন একটি বাগ সম্পর্কিত যা একটি দূষিত ব্যবহারকারীকে নির্দিষ্ট রত্ন খনি এবং একই নাম, সংস্করণ নম্বর এবং ভিন্ন প্ল্যাটফর্ম সহ বিভিন্ন ফাইল আপলোড করার অনুমতি দেয়।

নিষ্কাশন প্রক্রিয়ার মধ্য দিয়ে যাওয়ার সময় কী ভুল হয়েছে তা দেখতে আসুন আরও গভীরভাবে দেখে নেওয়া যাক। একটি অজুহাত হিসাবে, আসুন একটি দৃশ্যকল্প কল্পনা করা যাক যেখানে আমরা ব্যাপকভাবে ব্যবহৃত "rails-html-স্যানিটাইজার" রত্নটিতে অননুমোদিত অ্যাক্সেস পাওয়ার অভিপ্রায়ে "rails-html" নামক একটি রত্ন তৈরি করি৷

এটি উল্লেখ করা হয় তিনটি শর্ত পূরণ করতে হবে, সফলভাবে এই দুর্বলতা শোষণ করার জন্য:

  • আক্রমণটি শুধুমাত্র সেই প্যাকেটগুলিতেই করা যেতে পারে যেগুলির নামে একটি হাইফেন অক্ষর রয়েছে৷
  • একজন আক্রমণকারীর হাইফেন অক্ষর পর্যন্ত নামের অংশ সহ একটি রত্ন প্যাক স্থাপন করতে সক্ষম হওয়া উচিত। উদাহরণস্বরূপ, যদি আক্রমণটি "rails-html-স্যানিটাইজার" প্যাকেজের বিরুদ্ধে হয়, আক্রমণকারীকে অবশ্যই তাদের নিজস্ব "rails-html" প্যাকেজ সংগ্রহস্থলে রাখতে হবে।
  • আক্রমণ করা প্যাকেজটি অবশ্যই গত 30 দিনে তৈরি করা হয়েছে বা 100 দিনের জন্য আপডেট করা হয়নি৷

সমস্যা একজন নিরাপত্তা গবেষক দ্বারা চিহ্নিত করা হয়েছিল পরিচিত ওপেন সোর্স প্রোজেক্টে নিরাপত্তা সমস্যা খুঁজে বের করার জন্য HackerOne বাউন্টি প্রোগ্রামের অংশ হিসেবে।

সমস্যা 5 মে RubyGems.org এ স্থির করা হয়েছে এবং বিকাশকারীদের মতে, এখনও শোষণের চিহ্ন চিহ্নিত করা হয়নি গত 18 মাসের জন্য লগগুলিতে দুর্বলতার। একই সময়ে, এ পর্যন্ত শুধুমাত্র একটি সুপারফিশিয়াল অডিট করা হয়েছে এবং ভবিষ্যতে আরও গভীরভাবে নিরীক্ষার পরিকল্পনা করা হয়েছে।

বর্তমানে, আমরা বিশ্বাস করি যে এই দুর্বলতা কাজে লাগানো হয়নি।

RubyGems.org সমস্ত রত্ন মালিকদের একটি ইমেল পাঠায় যখন একটি রত্ন সংস্করণ প্রকাশিত হয় বা সরানো হয়। আমরা রত্ন মালিকদের কাছ থেকে কোনো সমর্থন ইমেল পাইনি যে তাদের মণি অনুমোদন ছাড়াই খনন করা হয়েছে।

গত 18 মাসে রত্ন পরিবর্তনের একটি নিরীক্ষায় এই দুর্বলতার দূষিত ব্যবহারের কোনো উদাহরণ পাওয়া যায়নি। এই শোষণের সম্ভাব্য ব্যবহারের জন্য আরও নিরীক্ষণে রুবিজেমসের ইতিহাসে অনুমোদন ছাড়াই কোনও রত্ন দখল করতে এই শোষণের কোনও উদাহরণ পাওয়া যায়নি। আমরা গ্যারান্টি দিতে পারি না যে এটি কখনই ঘটেনি, তবে এটি সম্ভব বলে মনে হচ্ছে না।

আপনার প্রকল্পগুলি যাচাই করার জন্য, Gemfile.lock ফাইলে অপারেশনগুলির ইতিহাস বিশ্লেষণ করার পরামর্শ দেওয়া হয়। একই নাম এবং সংস্করণের পরিবর্তনের উপস্থিতিতে ক্ষতিকারক কার্যকলাপ প্রকাশ করা হয়, বা একটি প্ল্যাটফর্ম পরিবর্তন (উদাহরণস্বরূপ, যখন একটি প্যাকেজ xxx-1.2.3) 1.2.3 xxx-XNUMX-xxx এ আপডেট করা হয়েছে)।

সমাধান হিসেবে ক্রমাগত ইন্টিগ্রেশন সিস্টেমে বা প্রজেক্ট প্রকাশ করার সময় লুকানো প্যাকেজের স্পুফিংয়ের বিরুদ্ধে, বিকাশকারীদের Bundler ব্যবহার করার জন্য সুপারিশ করা হয় "-ফ্রোজেন" বা "-ডিপ্লয়মেন্ট" বিকল্পগুলির সাথে নির্ভরতা নিশ্চিত করতে।

পরিশেষে, আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন, আপনি বিশদে পরীক্ষা করতে পারেন নিম্নলিখিত লিঙ্ক.


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।