په Exim کې د جدي زیان مننې توضیحات څرګند شول

خپور شوی اصلاحي خوشې کول Exim 4.92.2 د انتقادي له منځه وړلو سره زیانمنتیاوې (CVE-2019-15846)، کوم چې په ډیفالټ ترتیب کې کولی شي د برید کونکي لخوا د ریښې امتیازاتو سره د ریموټ کوډ اجرا کولو لامل شي. ستونزه یوازې هغه وخت څرګندیږي کله چې د TLS ملاتړ فعال وي او د ځانګړي ډیزاین شوي پیرودونکي سند یا SNI ته بدل شوي ارزښت په لیږدولو سره ګټه پورته کیږي. زیانمنتیا پیژندل شوی د Qualys لخوا.

ستونزه حاضر (string_interpret_escape() د string.c څخه) او د تار په پای کې د '\' کرکټر له امله رامینځته کیږي چې د null کرکټر ('\0') څخه مخکې تشریح کیږي او له هغې څخه تښتي. کله چې تیښته کیږي، ترتیب '\' او لاندې د پای پای پای کوډ د یو واحد کرکټر په توګه چلند کیږي او پوائنټر د کرښې څخه بهر ډیټا ته لیږدول کیږي، کوم چې د کرښې د دوام په توګه چلند کیږي.

د string_interpret_escape() په نوم کوډ د ریښتیني اندازې پراساس د ډرین لپاره بفر تخصیص کوي ، او ښکاره شوی پوائنټر د بفر له حد څخه بهر په ساحه کې پای ته رسیږي. په دې اساس، کله چې د ان پټ سټینګ پروسس کولو هڅه کوي، یو حالت رامینځته کیږي کله چې د تخصیص شوي بفر له حدودو څخه بهر د یوې سیمې څخه ډاټا لوستل کیږي، او د غیر منحل شوي تار لیکلو هڅه کولی شي د بفر له حدودو هاخوا د لیکلو لامل شي.

په ډیفالټ ترتیب کې، زیانمنتیا SNI ته د ځانګړي ډیزاین شوي ډیټا په لیږلو سره کارول کیدی شي کله چې سرور ته خوندي پیوستون رامینځته کوي. مسله د پیرودونکي سند تصدیق کولو لپاره ترتیب شوي ترتیبونو کې د peerdn ارزښتونو تعدیل کولو یا د سندونو واردولو پرمهال هم کارول کیدی شي. د SNI او peerdn له لارې برید ممکن د خوشې کیدو څخه پیل شي Exim 4.80، په کوم کې چې د string_unprinting() فنکشن د peerdn او SNI منځپانګې د چاپولو لپاره کارول شوی و.

د استحصال پروټوټایپ د SNI له لارې د برید لپاره چمتو شوی ، چې د Glibc سره د لینکس سیسټمونو کې i386 او amd64 آرکیټیکچرونو باندې چلیږي. استحصال د هپ په ساحه کې د معلوماتو پوښښ کاروي، په پایله کې د حافظې بیا لیکل کیږي په کوم کې چې د لاګ فایل نوم زیرمه شوی. د فایل نوم د "/../.../../../../../../../etc/passwd" سره بدل شوی. بیا ، د لیږونکي پته سره متغیر له سره لیکل کیږي ، کوم چې لومړی په لاګ کې خوندي شوی ، کوم چې تاسو ته اجازه درکوي سیسټم ته نوی کارونکي اضافه کړئ.

د توزیع لخوا خپاره شوي زیان منونکي اصلاحات سره د بسته تازه کول Debian, د وبنټو, فیډورا, SUSE/openSUSE и FreeBSD. د RHEL او CentOS ستونزه حساس نه دی، ځکه چې Exim د دوی منظم کڅوړې ذخیره کې شامل ندي (په ګرم اوسمهال کول لا د جوړ شویخو د اوس لپاره نه کیښودل شوی عامه ذخیرې ته) په Exim کوډ کې ستونزه د یو لاینر سره حل شوې پیچ، کوم چې د بیک سلیش د تیښتې اغیز غیر فعال کوي که چیرې دا د کرښې په پای کې وي.

د زیان مننې مخنیوي لپاره د حل په توګه ، تاسو کولی شئ د TLS ملاتړ غیر فعال کړئ یا اضافه کړئ
د ACL برخه "acl_smtp_mail":

انکار شرط = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
انکار شرط = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

سرچینه: opennet.ru

Add a comment