OpenSMTPD ۾ ڪمزوريون جيڪي ريموٽ ۽ مقامي روٽ رسائي جي اجازت ڏين ٿيون

Qualys ڪمپني پڌرو ميل سرور ۾ هڪ ٻيو ريموٽ نازڪ ڪمزوري (CVE-2020-8794) OpenSMTPD، OpenBSD پروجيڪٽ پاران تيار ڪيل. جنوري جي آخر ۾ هڪ سڃاڻپ وانگر ڪمزوري، هڪ نئون مسئلو اهو ممڪن بڻائي ٿو ته ريموٽ طور تي هڪ سرور تي بي ترتيبي شيل حڪمن کي روٽ استعمال ڪندڙ جي حقن سان. ڪمزوري ختم ڪيو ويو مسئلي ۾ OpenSMTPD 6.6.4p1.

مسئلو ڪوڊ ۾ هڪ بگ جي ڪري آهي جيڪو ميل کي ريموٽ ميل سرور ڏانهن پهچائي ٿو (نه ڪوڊ ۾ جيڪو ايندڙ ڪنيڪشن کي سنڀاليندو آهي). حملو ممڪن آهي ٻنهي ڪلائنٽ جي پاسي ۽ سرور جي پاسي تي. ڪلائنٽ جي پاسي، حملو OpenSMTPD جي ڊفالٽ ترتيب ۾ ممڪن آهي، جنهن ۾ OpenSMTPD صرف اندروني نيٽ ورڪ انٽرفيس (localhost) تي درخواستون قبول ڪري ٿو ۽ ٻاهرين سرورن ڏانهن ميل پيغام موڪلي ٿو. ڪمزوريءَ جو استحصال ڪرڻ لاءِ، اهو ڪافي آهي ته، خط جي ترسيل دوران، OpenSMTPD حملو ڪندڙ جي ڪنٽرول ڪيل ميل سرور سان هڪ سيشن قائم ڪري، يا اهو ته حملو ڪندڙ ڪلائنٽ ڪنيڪشن (MITM يا DNS يا BGP ذريعي حملن دوران ريڊائريڪشن) ۾ وڙهي سگهي ٿو. ).

سرور طرف جي حملي لاءِ، OpenSMTPD کي ٻين ميل سرورن کان خارجي نيٽ ورڪ جي درخواستون وصول ڪرڻ يا ٽئين پارٽي جي خدمتن جي خدمت ڪرڻ لاءِ ترتيب ڏيڻ لازمي آھي جيڪا توھان کي اجازت ڏئي ٿي ھڪ درخواست موڪلڻ لاءِ ھڪ صوابديدي اي ميل (مثال طور، ويب سائيٽن تي ايڊريس جي تصديق جا فارم). مثال طور، هڪ حملو ڪندڙ OpenSMTPD سرور سان ڳنڍي سگهي ٿو ۽ هڪ غلط خط (غير موجود صارف ڏانهن) موڪلي سگهي ٿو، جنهن جي نتيجي ۾ هڪ خط موڪلڻ جو جواب ٿيندو هڪ خط جي غلطي ڪوڊ سان (باؤنس) حملي ڪندڙ جي سرور ڏانهن. هڪ حملو ڪندڙ ان خطري جو استحصال ڪري سگهي ٿو جڏهن OpenSMTPD حملو ڪندڙ جي سرور ڏانهن نوٽيفڪيشن پهچائڻ لاءِ ڳنڍي ٿو. حملي دوران داخل ٿيل شيل ڪمانڊ هڪ فائل ۾ رکيا ويا آهن جيڪي روٽ حقن سان گڏ ڪيا ويندا آهن جڏهن OpenSMTPD ٻيهر شروع ڪيو ويندو آهي، تنهنڪري حملي ڪندڙ کي OpenSMTPD کي ٻيهر شروع ڪرڻ يا حملي کي مڪمل ڪرڻ لاء OpenSMTPD جي حادثي کي شروع ڪرڻ جو انتظار ڪرڻو پوندو.

مسئلو موجود آهي mta_io() فنڪشن ۾ ڪوڊ ۾ ملٽي لائن جواب کي پارس ڪرڻ لاءِ جيڪو ڪنيڪشن قائم ٿيڻ کان پوءِ ريموٽ سرور طرفان موٽايو ويو آهي (مثال طور، "250-ENHANCEDSTATUSCODES" ۽ "250 HELP"). OpenSMTPD حساب ڪري ٿو ته پهرين لڪير ۾ هڪ ٽي عددي نمبر ۽ متن شامل آهي "-" ڪردار سان الڳ ٿيل، ۽ ٻئي لڪير ۾ ٽي عددي نمبر ۽ متن شامل آهي هڪ اسپيس سان الڳ ٿيل. جيڪڏهن ٽن عددي نمبر جي پٺيان جاءِ نه هجي ۽ ٻئي لڪير ۾ متن، متن جي وضاحت ڪرڻ لاءِ استعمال ٿيندڙ پوائنٽر '\0' ڪردار جي پٺيان بائيٽ تي سيٽ ڪيو ويندو آهي ۽ آخر ۾ ڊيٽا کي نقل ڪرڻ جي ڪوشش ڪئي ويندي آهي. بفر ۾ لائن جي.

OpenBSD پروجيڪٽ جي درخواست تي، خطرن جي استحصال بابت تفصيلات جي اشاعت 26 فيبروري تائين ملتوي ڪئي وئي آهي ته جيئن صارفين کي انهن جي سسٽم کي اپڊيٽ ڪرڻ جي اجازت ڏني وڃي. مسئلو ڊسمبر 2015 کان ڪوڊ بيس ۾ موجود آهي، پر روٽ استحقاق سان ڪوڊ تي عملدرآمد کان اڳ استحصال مئي 2018 کان ممڪن ٿي چڪو آهي. محققن استحصال جو ڪم ڪندڙ پروٽوٽائپ تيار ڪيو، جيڪو OpenBSD 6.6، OpenBSD 5.9، Debian 10، Debian 11 (testing) ۽ Fedora 31 لاءِ OpenSMTPD تعميرات ۾ ڪاميابيءَ سان آزمايو ويو.

OpenSMTPD ۾ پڻ سڃاڻپ ٻيو نقصان (CVE-2020-8793) جيڪو مقامي صارف کي سسٽم تي ڪنهن به فائل جي پهرين لائن پڙهڻ جي اجازت ڏئي ٿو. مثال طور، توهان /etc/master.passwd جي پهرين لائن پڙهي سگهو ٿا، جنهن ۾ روٽ استعمال ڪندڙ جي پاسورڊ هيش شامل آهي. نقصان پڻ توهان کي اجازت ڏئي ٿو ته توهان کي ڪنهن ٻئي صارف جي ملڪيت واري فائل جو سڄو مواد پڙهڻ جي صورت ۾ جيڪڏهن اها فائل ساڳئي فائل سسٽم ۾ موجود آهي جيئن /var/spool/smtpd/ ڊاريڪٽري. مسئلو ڪيترن ئي لينڪس جي تقسيم تي استحصال نه آهي جتي /proc/sys/fs/protected_hardlinks جي قيمت 1 تي مقرر ڪئي وئي آهي.

مسئلو اڻپوري خاتمي جو نتيجو آهي مسئلا2015 ۾ Qualys پاران ڪيل آڊٽ دوران آواز اٿاريو ويو. هڪ حملو ڪندڙ "PATH=" متغير کي ترتيب ڏيڻ سان "_smtpq" گروپ جي حقن سان پنهنجي ڪوڊ جي عمل کي حاصل ڪري سگهي ٿو. ۽ موجوده ڊاريڪٽري ۾ ميڪ ميپ نالي هڪ اسڪرپٽ رکڻ (smtpctl يوٽيليٽي رستي کي واضح ڪرڻ کان سواءِ makemap هلائي ٿو). "_smtpq" گروپ تائين رسائي حاصل ڪرڻ سان، حملو ڪندڙ وري نسل جي حالت جو سبب بڻجي سگھي ٿو (آف لائن ڊاريڪٽري ۾ وڏي فائل ٺاھيو ۽ ھڪڙو SIGSTOP سگنل موڪليو) ۽ پروسيسنگ مڪمل ٿيڻ کان اڳ، فائل کي آف لائن ڊاريڪٽري ۾ تبديل ڪريو سخت. symlink ٽارگيٽ فائل ڏانهن اشارو ڪندي جنهن جي مواد کي پڙهڻ جي ضرورت آهي.

اهو قابل ذڪر آهي ته Fedora 31 ۾ ڪمزوري توهان کي فوري طور تي روٽ گروپ جا امتياز حاصل ڪرڻ جي اجازت ڏئي ٿي، ڇاڪاڻ ته smtpctl عمل setgid smtpq پرچم جي بدران setgid روٽ پرچم سان ليس آهي. روٽ گروپ تائين رسائي حاصل ڪرڻ سان، توهان /var/lib/sss/mc/passwd جي مواد کي مٿي ڪري سگهو ٿا ۽ سسٽم تائين مڪمل روٽ رسائي حاصل ڪري سگهو ٿا.

جو ذريعو: opennet.ru

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