smtpd، ldapd ۽ radiusd ۾ OpenBSD استحقاق جي واڌ ۽ تصديق جي بائي پاس خطرات

Qualys ڪمپني پڌرو چار ڪمزوريون OpenBSD ۾، جن مان هڪ توهان کي اجازت ڏئي ٿو بغير ڪنهن تصديق جي ڪجهه نيٽ ورڪ خدمتن سان ڳنڍڻ، ۽ ٻيا ٽي توهان جي نظام ۾ توهان جي استحقاق کي وڌائي ٿو. Qualys رپورٽ OpenBSD ڊولپرز جي تڪڙي جواب کي نوٽ ڪيو - سڀ مسئلا هئا ختم ڪيو ويو в اوپن بي ايس ڊي 6.5 и اوپن بي ايس ڊي 6.6 نجي اطلاع کان پوء 40 ڪلاڪن اندر.

ريموٽ طور تي استحصال جو خطرو libc لائبريري ۾ تصديق ڪندڙ هينڊلر کي ڪال ڪرڻ ۾ هڪ غلطي جي ڪري آهي، جيڪو ڪال ڪري ٿو.
پروگرام /usr/libexec/auth/login_style پاسنگ آرگيمنٽس ڪمانڊ لائن تي. جڏهن ته ڪال ڪندي login_style اختياري پيٽرول استعمال ڪندي “-s service”، اهو ممڪن آهي پروٽوڪول جو نالو منتقل ڪرڻ. جيڪڏهن توهان استعمال ڪريو ٿا "-" اکر استعمال ڪندڙ جي شروعات ۾، اهو نالو استعمال ڪيو ويندو هڪ اختيار جي طور تي جڏهن هلندي login_style. ان جي مطابق، جيڪڏهن توهان وضاحت ڪريو "-schallenge" يا "-schallenge:passwd" جي تصديق جي دوران صارف جو نالو، پوء login_style گذارش سمجهي ويندي هينڊلر استعمال ڪرڻ جي درخواست جي طور تي S/key.

مسئلو اهو آهي ته Login_style ۾ S/key پروٽوڪول صرف رسمي طور تي سپورٽ ڪئي وئي آهي، پر اصل ۾ ڪامياب تصديق جي نشاني جي پيداوار سان نظر انداز ڪيو ويو آهي. اهڙيء طرح، هڪ حملو ڪندڙ، صارف جي طور تي "-چلينج" ڪري سگهي ٿو، تصديق ڪرڻ کان پاسو ڪري سگهي ٿو ۽ پاسورڊ يا چابيون مهيا ڪرڻ کان سواء رسائي حاصل ڪري سگهي ٿو. سڀ نيٽ ورڪ خدمتون جيڪي استعمال ڪن ٿيون معياري libc ڪالون تصديق لاءِ امڪاني طور تي مسئلي کان متاثر ٿين ٿيون. مثال طور، تصديق کي نظرانداز ڪرڻ جي صلاحيت smtpd (AUTH PLAIN)، ldapd ۽ radiusd ۾ سپورٽ ڪئي وئي آهي.

نقصان sshd ۾ ظاهر نٿو ٿئي، ڇاڪاڻ ته ان ۾ اضافي تحفظ آهي جيڪو سسٽم ۾ صارف جي موجودگي کي چيڪ ڪري ٿو. بهرحال، sshd کي سسٽم جي ڪمزوري کي جانچڻ لاءِ استعمال ڪري سگهجي ٿو - جڏهن يوزرنيم "-sresponse:passwd" تائين پهچندي، ڪنيڪشن ٽنگجي ويندو آهي، ڇو ته sshd login_passwd جو انتظار ڪري رهيو آهي چئلينج پيرا ميٽرز کي واپس ڪرڻ لاءِ، ۽ login_passwd انتظار ڪري رهيو آهي گم ٿيل پيرا ميٽرز جو موڪليو وڃي (نالو "- sresponse" کي اختيار ڪيو ويندو آهي). هڪ مقامي حملي آور ممڪن طور تي su يوٽيلٽي ۾ تصديق کي نظرانداز ڪرڻ جي ڪوشش ڪري سگهي ٿو، پر نالو "-sresponse" کي پاس ڪرڻ سان عمل خراب ٿيڻ جو سبب بنجي ٿو هڪ null پوائنٽر واپس ڪندي جڏهن getpwnam_r("-schallenge"، ...) فنڪشن تي عمل ڪيو وڃي.

ٻيا ڪمزوريون:

  • CVE-2019-19520 مقامي استحقاق جي واڌاري xlock يوٽيلٽي جي هٿرادو ذريعي sgid پرچم سان مهيا ڪيل گروپ کي "تصوير" ۾ تبديل ڪندي. xlock ڪوڊ ۾، لائبريرين ڏانهن رستن جي وضاحت ڪرڻ صرف منع ٿيل آهي جڏهن صارف جي سڃاڻپ ڪندڙ (setuid) کي تبديل ڪيو ويو آهي، جيڪو حملي ڪندڙ کي ماحول جي متغير "LIBGL_DRIVERS_PATH" کي تبديل ڪرڻ جي اجازت ڏئي ٿو ۽ پنهنجي حصيداري لائبريري جي لوڊ ڪرڻ کي منظم ڪري ٿو، جنهن جو ڪوڊ جاري ڪيو ويندو. "تصوير" گروپ کي استحقاق وڌائڻ کان پوء.
  • CVE-2019-19522 - هڪ مقامي استعمال ڪندڙ کي اجازت ڏئي ٿو جيڪو "Auth" گروپ جو ميمبر آهي ڪوڊ کي روٽ طور هلائڻ لاءِ جڏهن سسٽم تي S/Key يا YubiKey جي تصديق فعال هجي (ڊفالٽ طور تي فعال ناهي). "تصوير" گروپ ۾ شامل ٿيڻ، جيڪو xlock ۾ مٿي بيان ڪيل خطرن کي استحصال ڪندي رسائي ڪري سگھجي ٿو، توهان کي فائلون لکڻ جي اجازت ڏئي ٿي /etc/skey ۽ /var/db/yubikey ڊائريڪٽرن. مثال طور، هڪ حملو ڪندڙ هڪ نئين فائل شامل ڪري سگهي ٿو /etc/skey/root جي تصديق لاءِ هڪ وقت جي ڪنجيون پيدا ڪرڻ لاءِ جيئن روٽ استعمال ڪندڙ S/Key ذريعي.
  • CVE-2019-19519 - وسيلن جي حدن کي وڌائڻ جو امڪان su يوٽيلٽي جي هٿرادو ذريعي. جڏهن "-L" اختيار بيان ڪيو ويو آهي، جنهن جي تصديق ڪرڻ جي ڪوششن کي بار بار ڪيو وڃي ٿو سائيڪل طور تي ناڪام ٿيڻ جي صورت ۾، صارف ڪلاس صرف هڪ ڀيرو سيٽ ڪيو ويندو آهي ۽ ايندڙ ڪوششن تي ٻيهر سيٽ نه ڪيو ويندو آهي. هڪ حملو ڪندڙ "su -l -L" تي عمل ڪري سگهي ٿو ڪنهن ٻئي جي لاگ ان ۾ داخل ٿيڻ جي پهرين ڪوشش تي مختلف اڪائونٽ ڪلاس سان، پر ٻئي ڪوشش تي هو ڪاميابيء سان پنهنجي طور تي تصديق ڪري سگهي ٿو. هن صورتحال ۾، صارف پهرين ڪوشش تي بيان ڪيل صارف طبقي جي بنياد تي حدن جي تابع هوندو (مثال طور، پروسيس جي وڌ ۾ وڌ تعداد يا پروسيس لاء ميموري سائيز). اهو طريقو صرف غير استحقاق رکندڙ استعمال ڪندڙن کان قرضن جي حدن لاء ڪم ڪري ٿو، ڇو ته روٽ استعمال ڪندڙ کي ويل گروپ ۾ هجڻ گهرجي).

اضافي طور تي، اهو نوٽ ڪري سگهجي ٿو عمل درآمد OpenBSD ۾، سسٽم ڪالن جي صحيحيت کي جانچڻ لاء هڪ نئون طريقو، جيڪو وڌيڪ پيچيدگين جي استحصال کي پيچيده ڪري ٿو. طريقو سسٽم ڪالن کي صرف ان صورت ۾ عمل ڪرڻ جي اجازت ڏئي ٿو جڏهن اهي اڳئين رجسٽرڊ ميموري علائقن مان پهچندا آهن. ياداشت جي علائقن کي نشانو بڻائڻ لاء تجويز ڪيل نئون سسٽم ڪال msyscall().

جو ذريعو: opennet.ru