qmail ميل سرور ۾ ريموٽ طور تي استحصال جوڳو نقصان

Qualys کان سيڪيورٽي محقق ڏيکاريو موقعو استحصال qmail ميل سرور ۾ ڪمزوريون، مشهور واپس 2005 (CVE-2005-1513) ۾، پر اڻڄاتل رهي ڇاڪاڻ ته qmail جي ليکڪ دليل ڏنو ته اهو ڪم ڪندڙ استحصال پيدا ڪرڻ غير حقيقي هو جيڪو ڊفالٽ ترتيب ۾ سسٽم تي حملو ڪرڻ لاء استعمال ٿي سگهي ٿو. Qualys هڪ استحصال تيار ڪرڻ جي قابل هئي جيڪا هن مفروضي کي رد ڪري ٿي ۽ هڪ کي اجازت ڏئي ٿي سرور تي ريموٽ ڪوڊ جي عمل کي شروع ڪرڻ لاءِ خاص طور تي ٺهيل پيغام موڪلڻ سان.

مسئلو straloc_readyplus() فنڪشن ۾ هڪ انٽيجر اوور فلو جي ڪري آهي، جيڪو ٿي سگهي ٿو جڏهن هڪ تمام وڏي پيغام کي پروسيس ڪيو وڃي. آپريشن لاءِ 64GB کان وڌيڪ ورچوئل ميموري سان 4-bit سسٽم جي ضرورت آهي. جڏهن 2005 ۾ ڪمزوريءَ جو اصل تجزيو ڪيو ويو، ڊينيل جي برنسٽن دليل ڏنو ته ڪوڊ ۾ اهو مفروضو ته مختص ڪيل صف جي سائيز هميشه 32-بٽ ويل جي اندر هوندي آهي ان حقيقت تي ٻڌل آهي ته ڪو به هر عمل کي گيگا بائيٽ ميموري فراهم نٿو ڪري. گذريل 15 سالن ۾، سرورز تي 64-bit سسٽم 32-bit سسٽم کي تبديل ڪري ڇڏيو آهي، ۽ فراهم ڪيل ميموري ۽ نيٽ ورڪ بينڊوڊٿ جي مقدار ۾ ڊرامائي طور تي اضافو ٿيو آهي.

qmail پيڪيج سنڀاليندڙن Bernstein جي نوٽ کي حساب ۾ ورتو ۽ موجود ميموري کي محدود ڪيو جڏهن qmail-smtpd عمل شروع ڪيو (مثال طور، Debian 10 ۾ حد مقرر ڪئي وئي آهي 7MB). پر Qualys کان انجنيئر ڏٺائين ته اهو ڪافي نه آهي ۽، qmail-smtpd کان علاوه، هڪ ريموٽ حملو qmail-local پروسيس تي ڪري سگهجي ٿو، جيڪو سڀني آزمائشي پيڪيجز ۾ غير محدود رهيو. ثبوت جي طور تي، هڪ استحصال پروٽوٽائپ تيار ڪيو ويو جيڪو ڊيبين پيڪيج تي حملو ڪرڻ لاءِ موزون هو qmail سان ڊفالٽ ترتيب ۾.
حملي دوران ريموٽ ڪوڊ جي عمل کي منظم ڪرڻ لاءِ، سرور کي 4GB مفت ڊسڪ اسپيس ۽ 8GB ريم جي ضرورت آهي.
استحصال توهان کي سسٽم ۾ ڪنهن به صارف جي حقن سان ڪنهن به شيل ڪمانڊ کي هلائڻ جي اجازت ڏئي ٿو، سواء روٽ ۽ سسٽم استعمال ڪندڙن جي جن کي "/home" ڊاريڪٽري ۾ پنهنجي ذيلي ڊائريڪٽري نه آهي (qmail-local پروسيس حقن سان شروع ڪيو ويو آهي. مقامي استعمال ڪندڙ جو جن کي ترسيل ڪيو ويندو آهي).

حملو ڪيو ويندو آهي
هڪ تمام وڏو ميل پيغام موڪلڻ ذريعي، ڪيترن ئي هيڊر لائين سميت، تقريبن 4GB ۽ 576MB جي ماپ. qmail-local ۾ اهڙي تار کي پروسيس ڪرڻ سان انٽيجر اوور فلو ٿيندو آهي جڏهن مقامي استعمال ڪندڙ کي پيغام پهچائڻ جي ڪوشش ڪئي ويندي آهي. هڪ انٽيجر اوور فلو پوءِ بفر اوور فلو ڏانهن وڌي ٿو جڏهن ڊيٽا کي نقل ڪيو وڃي ٿو ۽ ميموري صفحن کي اوور رائٽنگ ڪرڻ جو امڪان libc ڪوڊ سان. منتقل ٿيل ڊيٽا جي ترتيب کي ترتيب ڏيڻ سان، اهو پڻ ممڪن آهي ته "اوپن()" فنڪشن جي ايڊريس کي ٻيهر لکڻ، ان کي "سسٽم ()" فنڪشن جي ايڊريس سان تبديل ڪندي.

اڳيون، qmail-local ۾ qmesearch() کي ڪال ڪرڻ جي عمل ۾، فائل “.qmail-extension” کي open() فنڪشن ذريعي کوليو ويندو آهي، جيڪو فنڪشن جي حقيقي عمل ڏانهن وٺي ويندو آهي.
سسٽم ("qmail-extension"). پر جيئن ته فائل جو “ايڪسٽينشن” حصو وصول ڪندڙ جي ايڊريس جي بنياد تي ٺاهيو ويو آهي (مثال طور، “localuser-extension@localdomain”)، حملو ڪندڙ ترتيب ڏئي سگهن ٿا حڪم کي موڪلڻ لاءِ استعمال ڪندڙ جي وضاحت ڪندي “localuser-;command ؛@localdomain" پيغام جي وصول ڪندڙ جي طور تي.

ڪوڊ جي تجزيي دوران، اضافي qmail-verify پيچ ۾ ٻه خطرات جي نشاندهي پڻ ڪئي وئي، جيڪا ڊيبين لاء پيڪيج جو حصو آهي. پهريون خطرو (CVE-2020-3811) توهان کي اي ميل پتي جي تصديق کي نظرانداز ڪرڻ جي اجازت ڏئي ٿي، ۽ ٻيو (CVE-2020-3812) مقامي معلومات جي ليڪ جي ڪري ٿي. خاص طور تي، پهريون نقصان توهان کي ڪمانڊ موڪلڻ لاءِ استحصال ۾ استعمال ٿيل ايڊريس جي درستي جي تصديق کي نظرانداز ڪرڻ جي اجازت ڏئي ٿو (تصديق ڊومين کان سواءِ پتي لاءِ ڪم نٿو ڪري، جهڙوڪ “localuser-;command;”). ٻيو نقصان سسٽم تي فائلن ۽ ڊائريڪٽرن جي موجودگي کي جانچڻ لاءِ استعمال ڪري سگھجي ٿو، جن ۾ جيڪي صرف روٽ تائين پهچن ٿيون (qmail-verify رن روٽ حقن سان)، مقامي هينڊلر کي سڌي ڪال ذريعي.

مسئلي کي حل ڪرڻ لاءِ، برنسٽين سفارش ڪئي ته qmail پروسيس کي دستياب ميموري تي ڪل حد سان (“softlimit -m12345678”)، جنهن صورت ۾ مسئلو بلاڪ ٿيل آهي. تحفظ جي متبادل طريقي جي طور تي، "ڪنٽرول/ڊيٽا بائيٽس" فائل ذريعي پروسيس ٿيل پيغام جي وڌ ۾ وڌ سائيز کي محدود ڪرڻ جو پڻ ذڪر ڪيو ويو آهي (ڊفالٽ طور تي اهو ڊفالٽ سيٽنگن سان نه ٺاهيو ويو آهي qmail ڪمزور رهي ٿو). اضافي طور تي، "ڪنٽرول/ڊيٽا بائيٽس" سسٽم استعمال ڪندڙن جي مقامي حملن جي خلاف حفاظت نٿو ڪري، ڇو ته حد صرف qmail-smtpd جي حساب سان ورتو وڃي ٿو.

مسئلو پيڪيج کي متاثر ڪري ٿو netqmail، ڊيبين جي مخزن ۾ شامل آهي. هن پيڪيج لاءِ پيچ جو هڪ سيٽ تيار ڪيو ويو آهي، 2005 کان ٻنهي پراڻين ڪمزورين کي ختم ڪندي (Aloc() فنڪشن ڪوڊ ۾ هارڊ ميموري جي حدن کي شامل ڪندي) ۽ qmail-verify ۾ نوان مسئلا. الڳ الڳ تيار qmail-verify پيچ جو تازو ورزن. ڊولپرز شاخون notqmail پراڻن مسئلن کي بلاڪ ڪرڻ لاءِ پنهنجا پيچ تيار ڪيا، ۽ ڪوڊ ۾ هر ممڪن انٽيجر اوور فلوز کي ختم ڪرڻ لاءِ ڪم پڻ شروع ڪيو.

جو ذريعو: opennet.ru

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