په OpenSMTPD کې زیان منونکي چې لیرې او محلي ریښې ته اجازه ورکوي

د Qualys شرکت ښکاره شوی په میل سرور کې یو بل لیرې مهم زیانمننه (CVE-2020-8794) OpenSMTPD، د OpenBSD پروژې لخوا رامینځته شوی. لکه څنګه چې د جنوري په پای کې پیژندل شوی زیانمنتیا، یوه نوې مسله دا امکان رامینځته کوي چې په لیرې توګه په سرور کې د خپل سري شیل کمانډونه د روټ کارونکي حقونو سره اجرا کړي. زیانمنتیا له منځه وړل په مسله کې OpenSMTPD 6.6.4p1.

ستونزه په کوډ کې د بګ له امله رامینځته شوې چې د ریموټ میل سرور ته بریښنالیک رسوي (نه په کوډ کې چې راتلونکي اړیکې اداره کوي). برید د پیرودونکي اړخ او سرور اړخ کې ممکن دی. د پیرودونکي اړخ کې ، برید د OpenSMTPD په ډیفالټ ترتیب کې ممکن دی ، په کوم کې چې OpenSMTPD یوازې د داخلي شبکې انٹرفیس (لوکل هوسټ) کې غوښتنې مني او بهرني سرورونو ته د بریښنالیک پیغامونه لیږي. د زیانونو څخه د ګټې اخیستنې لپاره، دا کافي ده چې، د لیک د سپارلو په وخت کې، 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 (ازموینې) او Fedora 31 لپاره په OpenSMTPD جوړونو کې په بریالیتوب سره ازمول شوی.

په OpenSMTPD کې هم پیژندل شوی بل زیانمننه (CVE-2020-8793) چې ځایی کارونکي ته اجازه ورکوي چې په سیسټم کې د هرې فایل لومړۍ کرښه ولولي. د مثال په توګه، تاسو کولی شئ د /etc/master.passwd لومړۍ کرښه ولولئ، کوم چې د روټ کارونکي پاسورډ هش لري. زیانمنتیا تاسو ته اجازه درکوي د فایل ټول مینځپانګې ولولئ چې د بل کارونکي ملکیت وي که چیرې دا فایل په ورته فایل سیسټم کې د /var/spool/smtpd/ لارښود په څیر موقعیت ولري. ستونزه په ډیری لینکس توزیعونو کې د ګټې اخیستنې وړ ندي چیرې چې د /proc/sys/fs/protected_hardlinks ارزښت 1 ته ټاکل شوی.

ستونزه د نیمګړتیا له منځه وړلو پایله ده ستونزېپه 2015 کې د Qualys لخوا ترسره شوي پلټنې په جریان کې غږ شوی. برید کوونکی کولی شي د "PATH=" متغیر په ترتیب کولو سره د "_smtpq" ګروپ حقونو سره د خپل کوډ اجرا کول ترلاسه کړي. او په اوسني ډایرکټر کې د میک میپ په نوم سکریپټ ځای په ځای کړئ (د smtpctl یوټیلیټ پرته له دې چې په واضح ډول د لارې مشخص کړي میک میپ چلوي). د "_smtpq" ډلې ته د لاسرسي په ترلاسه کولو سره، برید کوونکی بیا د ریس حالت رامینځته کولی شي (په آفلاین ډایرکټر کې لوی فایل رامینځته کړئ او د SIGSTOP سیګنال واستوئ) او مخکې لدې چې پروسس بشپړ شي ، فایل په آفلاین ډایرکټر کې د هارډ سره بدل کړئ. symlink د هدف فایل ته اشاره کوي چې مینځپانګه یې لوستلو ته اړتیا لري.

د یادونې وړ ده چې په فیډورا 31 کې زیانمنتیا تاسو ته اجازه درکوي سمدلاسه د روټ ګروپ امتیازات ترلاسه کړئ ، ځکه چې د smtpctl پروسه د setgid smtpq بیرغ پرځای د سیټګیډ روټ بیرغ سره مجهز ده. د روټ ګروپ ته د لاسرسي په ترلاسه کولو سره، تاسو کولی شئ د /var/lib/sss/mc/passwd منځپانګې بیا ولیکئ او سیسټم ته بشپړ روټ لاسرسی ترلاسه کړئ.

سرچینه: opennet.ru

Add a comment