በሲስተሙ ውስጥ ያሉዎትን ልዩ መብቶች እንዲያሳድጉ የሚያስችልዎ በፖልኪት ውስጥ ያለ ተጋላጭነት

በPolkit ክፍል ውስጥ ተጋላጭነት (CVE-2021-3560) ተለይቷል፣ ይህም በስርጭት ውስጥ ጥቅም ላይ የሚውለው ጥቅም ለሌላቸው ተጠቃሚዎች ከፍ ያለ የመዳረሻ መብቶችን የሚጠይቁ እርምጃዎችን እንዲያደርጉ (ለምሳሌ የዩኤስቢ ድራይቭን መጫን) ሲሆን ይህም የአካባቢው ተጠቃሚ እንዲሰራ ያስችለዋል። በስርዓቱ ውስጥ የስር መብቶችን ማግኘት. ተጋላጭነቱ በPolkit ስሪት 0.119 ውስጥ ተስተካክሏል።

ችግሩ 0.113 ከተለቀቀ በኋላ ነበር፣ ነገር ግን RHEL፣ ኡቡንቱ፣ ዴቢያን እና SUSEን ጨምሮ ብዙ ስርጭቶች የተጎዳውን ተግባር በአሮጌ የፖልኪት ልቀቶች ላይ ተመስርተው ወደ ፓኬጆች ዘግበውታል (የጥቅል ጥገናዎች ቀድሞውኑ በስርጭቶች ውስጥ ይገኛሉ)።

ችግሩ እራሱን ከፍ ለማድረግ የሚጠይቀውን የሂደቱን መለያዎች (ዩዲ እና ፒዲ) በሚያገኘው በpolkit_system_bus_name_get_creds_sync() ተግባር ላይ ይታያል። አንድ ሂደት በ DBus ውስጥ ልዩ ስም በመመደብ በPolkit ተለይቷል፣ እሱም መብቶችን ለማረጋገጥ ይጠቅማል። የPolkit_system_bus_name_get_creds_sync ተቆጣጣሪው ከመጀመሩ በፊት አንድ ሂደት ከdbus-daemon ጋር ያለው ግንኙነት ከተቋረጠ፣ ተቆጣጣሪው በልዩ ስም ምትክ የስህተት ኮድ ይቀበላል።

ተጋላጭነቱ የተከሰተው የተመለሰው የስህተት ኮድ በትክክል ባለመሰራቱ እና የ polkit_system_bus_name_get_creds_sync() ተግባር ከ FALSE ይልቅ TRUE በመመለሱ ነው፣ ምንም እንኳን ሂደቱን ከ uid/pid ጋር ማዛመድ እና ለሂደቱ የተጠየቁትን ልዩ መብቶች ማረጋገጥ ባይቻልም። የpolkit_system_bus_name_get_creds_sync() ተግባር የተጠራበት ኮድ ቼኩ የተሳካ እንደነበር እና ልዩ መብቶችን የመጨመር ጥያቄ የመጣው ከስር ነው እንጂ ከሌላ ተጠቃሚ እንዳልሆነ ይገምታል፣ ይህም ያለ ተጨማሪ ማረጋገጫ እና የምስክርነት ማረጋገጫ ልዩ ልዩ ተግባራትን ለማከናወን ያስችላል።

ምንጭ: opennet.ru

አስተያየት ያክሉ