Exim ۾ نازڪ ڪمزوري جيڪا ڪوڊ کي روٽ استحقاق سان سرور تي عمل ڪرڻ جي اجازت ڏئي ٿي

Exim ميل سرور ۾ سڃاڻپ ڪرٽيچسڪايا ڪمزوري (CVE-2019-10149)، جيڪو سرور تي ريموٽ ڪوڊ جي عمل جي ڪري سگھي ٿو روٽ حقن سان جڏهن خاص طور تي تيار ڪيل درخواست کي پروسيس ڪيو وڃي. مسئلي جي استحصال جو امڪان 4.87 کان 4.91 تائين جي ورزن ۾ نوٽ ڪيو ويو يا جڏهن EXPERIMENTAL_EVENT اختيار سان تعمير ڪيو ويو.

ڊفالٽ ٺاھ جوڙ ۾، حملو مقامي استعمال ڪندڙ جي غير ضروري پيچيدگين کان سواء ٿي سگھي ٿو، ڇاڪاڻ ته "تصديق = وصول ڪندڙ" ACL لاڳو ٿئي ٿو، جيڪو خارجي پتي لاء اضافي چيڪن کي انجام ڏئي ٿو. هڪ ريموٽ حملو تڏهن ٿي سگهي ٿو جڏهن سيٽنگون تبديل ڪيون وڃن، جيئن ڪنهن ٻئي ڊومين لاءِ ثانوي MX طور ڪم ڪرڻ، "verify=recipient" ACL کي هٽائڻ، يا local_part_suffix ۾ ڪجهه تبديليون). هڪ ريموٽ حملو پڻ ممڪن آهي جيڪڏهن حملو ڪندڙ سرور سان ڪنيڪشن کي 7 ڏينهن لاءِ کليل رکڻ جي قابل آهي (مثال طور، وقت ختم ڪرڻ لاءِ هڪ بائيٽ في منٽ موڪلڻ). ساڳئي وقت، اهو ممڪن آهي ته مسئلي جي دور دراز استحصال لاء آسان حملي وارا ویکٹر آهن.

نقصان /src/deliver.c فائل ۾ بيان ڪيل deliver_message() فنڪشن ۾ وصول ڪندڙ جي ايڊريس جي غلط تصديق جي ڪري آهي. ايڊريس فارميٽنگ کي هٿي وٺرائڻ سان، هڪ حملو ڪندڙ پنهنجي ڊيٽا جي متبادل کي حڪم جي دليلن ۾ حاصل ڪري سگهي ٿو execv() فنڪشن ذريعي روٽ حقن سان. آپريشن کي بفر اوور فلوز يا ياداشت جي بدعنواني لاء استعمال ٿيل پيچيده ٽيڪنالاجي جي استعمال جي ضرورت ناهي؛ سادي ڪردار جي متبادل ڪافي آهي.

مسئلو ايڊريس جي تبديلي لاءِ تعمير جي استعمال سان لاڳاپيل آهي:

deliver_localpart = وڌايو_string(
string_sprintf("${local_part:%s}", new->address));
deliver_domain = expand_string(
string_sprintf("${domain:%s}", new->address));

expand_string() فنڪشن هڪ وڌيڪ پيچيده ڪمبينر آهي، جنهن ۾ "${run{command arguments}" ڪمانڊ کي سڃاڻڻ شامل آهي، جيڪو هڪ خارجي هينڊلر جي شروعات ڏانهن وٺي ٿو. اهڙيءَ طرح، هڪ SMTP سيشن ۾ حملو ڪرڻ لاءِ، هڪ مقامي استعمال ڪندڙ کي صرف هڪ حڪم موڪلڻ جي ضرورت آهي جيئن ’RCPT TO “username+${run{...}}@localhost”، جتي localhost مقامي_ڊومين جي فهرست مان هڪ هوسٽ آهي، ۽ يوزرنيم هڪ موجوده مقامي استعمال ڪندڙ جو نالو آهي.

جيڪڏهن سرور هڪ ميل رلي طور ڪم ڪري ٿو، اهو ڪافي آهي ته پري کان حڪم موڪلڻ لاءِ 'RCPT TO "${run{...}}@relaydomain.com"'، جتي relaydomain.com relay_to_domains ۾ درج ڪيل ميزبانن مان هڪ آهي سيٽنگون سيڪشن. جيئن ته Exim ڊفالٽ نه آهي استحقاق واري موڊ کي ڇڏڻ لاءِ (deliver_drop_privilege = غلط)، "${run{...}}" ذريعي پاس ڪيل ڪمانڊ روٽ طور ڪم ڪيا ويندا.

اها ڳالهه قابل ذڪر آهي ته vulnerability هو ختم ڪيو ويو فيبروري ۾ جاري ڪيل 4.92 رليز ۾، انهي ڳالهه تي زور ڏيڻ جي بغير ته فڪس سيڪيورٽي مسئلن جو سبب بڻجي سگهي ٿو. يقين ڪرڻ جو ڪو به سبب ناهي ته ايڪسيم ڊولپرز طرفان خطري کي عمدي طور لڪايو ويو هو، ڇاڪاڻ ته اهو مسئلو حل ڪيو ويو هو اصلاح ناڪامي جيڪا ٿيندي آهي جڏهن غلط ايڊريس منتقل ڪيا ويندا آهن، ۽ ڪمزوري جي نشاندهي ڪئي وئي هئي Qualys پاران Exim ۾ تبديلين جي آڊٽ دوران.

پوئين ورزن لاءِ هڪ حل جيڪو جاري آهي تقسيم ۾ استعمال ٿيڻ لاءِ في الحال صرف دستياب آهي پيچ. مسئلو حل ڪرڻ لاءِ اڳئين شاخن لاءِ اصلاحي رليز 11 جون تي مقرر ٿيل آهن. پيڪيج اپڊيٽ لاء تيار آهن ديبين, Ubuntu, OpenSUSE. آرڪيڪس لينڪس и بيدل اهي ورزن 4.92 فراهم ڪن ٿا، جنهن ۾ مسئلو ظاهر نٿو ٿئي. RHEL ۽ CentOS مسئلو حساس نه آهيجيئن ته Exim انهن جي باقاعده پيڪيج جي مخزن ۾ شامل نه آهي.

جو ذريعو: opennet.ru

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