په پولکیټ کې زیان منونکي چې تاسو ته اجازه درکوي په سیسټم کې خپل امتیازات زیات کړئ

یو زیانمنتیا (CVE-2021-3560) د پولکیټ برخې کې پیژندل شوی ، کوم چې په توزیع کې کارول کیږي ترڅو غیر مستحق کاروونکو ته اجازه ورکړي چې هغه عملونه ترسره کړي چې د لاسرسي لوړ حقونو ته اړتیا لري (د مثال په توګه ، د USB ډرایو نصب کول) ، کوم چې ځایی کارونکي ته اجازه ورکوي په سیسټم کې د ریښو حقونه ترلاسه کول. زیانمنتیا د پولکیټ نسخه 0.119 کې ټاکل شوې.

ستونزه د 0.113 خوشې کیدو راهیسې شتون لري ، مګر ډیری توزیعونه ، پشمول د RHEL، Ubuntu، Debian، او SUSE، اغیزمن فعالیت د پخوانیو پولکیټ ریلیزونو پراساس کڅوړو کې بیکپورټ کړی (د بسته بندي اصلاحات دمخه په توزیع کې شتون لري).

ستونزه پخپله د polkit_system_bus_name_get_creds_sync() فنکشن کې ښکاره کیږي، کوم چې د پروسې پیژندونکي (uid او pid) ترلاسه کوي چې د امتیاز لوړولو غوښتنه کوي. یوه پروسه د پولکیټ لخوا په DBus کې د ځانګړي نوم په ټاکلو سره پیژندل کیږي ، کوم چې بیا د امتیازاتو تصدیق کولو لپاره کارول کیږي. که چیرې پروسه د پولکیټ_سیسټم_بس_نوم_get_creds_sync هینډلر پیل کیدو دمخه د dbus-daemon څخه جلا شي ، هینډلر د ځانګړي نوم پرځای د خطا کوډ ترلاسه کوي.

زیانمنتیا د دې حقیقت له امله رامینځته کیږي چې بیرته راستنیدونکي خطا کوډ په سمه توګه پروسس شوی نه دی او د polkit_system_bus_name_get_creds_sync() فنکشن د FALSE پرځای ریښتیا راګرځي، سره له دې چې د پروسې سره د uid/pid سره سمون نه درلود او د پروسې لپاره غوښتل شوي امتیازات تصدیق کول. هغه کوډ چې له هغې څخه د polkit_system_bus_name_get_creds_sync() فنکشن په نوم یادیږي داسې انګیرل کیږي چې چک بریالی و او د امتیازاتو د زیاتولو غوښتنه د روټ څخه راغلې وه نه د یو غیر مراعات شوي کارونکي څخه، کوم چې دا ممکنه کوي چې د اضافي تصدیق او اعتبار تصدیق پرته د امتیازاتو عمل ترسره کړي.

سرچینه: opennet.ru

Add a comment