RubyGems.org ۾ ڪمزوري جيڪا ٻين ماڻهن جي پيڪيجز جي اسپفنگ جي اجازت ڏئي ٿي

هڪ نازڪ خطري (CVE-2022-29176) جي نشاندهي ڪئي وئي آهي RubyGems.org پيڪيج ريپوزٽري ۾، جيڪا اجازت ڏئي ٿي، بغير ڪنهن مناسب اختيار جي، ريپوزٽري ۾ ڪجهه ٻين ماڻهن جي پيڪيجز کي تبديل ڪرڻ جي ذريعي هڪ جائز پيڪيج جي ينڪ شروع ڪندي ۽ ان جي جاءِ تي لوڊ ڪندي. ساڳئي نالي ۽ نسخي نمبر سان هڪ ٻي فائل.

ڪاميابيءَ سان ڪمزوريءَ جو استحصال ڪرڻ لاءِ، ٽن شرطن کي پورا ڪرڻ لازمي آهي:

  • حملو صرف انهن پيڪٽس تي ٿي سگهي ٿو جن جي نالي ۾ هائفن هجي.
  • هڪ حملو ڪندڙ لازمي طور تي هائيفن ڪردار کان اڳ نالي جي حصي سان هڪ گيم پيڪيج رکڻ جي قابل هوندو. مثال طور، جيڪڏهن حملو "rails-html-sanitizer" پيڪيج تي آهي، حملي ڪندڙ کي پنهنجي "rails-html" پيڪيج کي مخزن ۾ رکڻ گهرجي.
  • جيڪو پيڪيج حملو ڪيو پيو وڃي، اهو لازمي طور تي گذريل 30 ڏينهن اندر ٺاهيو ويو هجي يا 100 ڏينهن تائين اپڊيٽ نه ڪيو ويو هجي.

ڪمزوري ”يانڪ“ ايڪشن هينڊلر ۾ هڪ غلطي جي ڪري پيدا ٿئي ٿي، جيڪو پليٽ فارم جي نالي سان هائيفن کان پوءِ نالي جي حصي کي تشريح ڪري ٿو، جنهن اهو ممڪن ڪيو ته غير ملڪي پيڪيجز کي حذف ڪرڻ شروع ڪيو وڃي جيڪي نالي جي حصي سان ملن ٿا. hyphen کان اڳ. خاص طور تي، "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 فائل ۾ آپريشن جي تاريخ جو تجزيو ڪرڻ جي سفارش ڪئي وئي آهي؛ بدسلوڪي سرگرمي جو اظهار ڪيو ويو آهي تبديلين جي موجودگي ۾ نالو ۽ نسخي جي تحفظ سان يا پليٽ فارم جي تبديلي (مثال طور، جڏهن gemname. -1.2.3 پيڪيج کي اپڊيٽ ڪيو ويو آهي gemname-1.2.3-java). مسلسل انٽيگريشن سسٽم ۾ لڪيل پيڪيج جي متبادل جي خلاف بچاءُ لاءِ ڪم ڪار جي طور تي يا جڏهن پراجيڪٽ شايع ڪري رهيا آهن، ڊولپرز کي سفارش ڪئي وئي آهي ته Bundler استعمال ڪن ”-منجمد“ يا ”-deployment“ اختيارن سان انحصار کي درست ڪرڻ لاءِ.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو