Vulnerabbiltà kritika f'Exim li tippermetti li l-kodiċi jiġi esegwit fuq is-server bi privileġġi tal-għeruq

Fis-server tal-posta Exim identifikati kritika vulnerabbiltà (CVE-2019-10149), li jista 'jwassal għal eżekuzzjoni remota tal-kodiċi fuq is-server bi drittijiet tal-għeruq meta tiġi pproċessata talba maħduma apposta. Il-possibbiltà ta 'sfruttament tal-problema ġiet innutata f'verżjonijiet minn 4.87 sa 4.91 inklużi jew meta tinbena bl-għażla EXPERIMENTAL_EVENT.

Fil-konfigurazzjoni awtomatika, l-attakk jista 'jsir mingħajr kumplikazzjonijiet bla bżonn minn utent lokali, peress li hija applikata l-ACL "verifika = riċevitur", li twettaq kontrolli addizzjonali għal indirizzi esterni. Attakk mill-bogħod jista 'jseħħ meta s-settings jinbidlu, bħal li jaġixxi bħala MX sekondarju għal dominju ieħor, it-tneħħija tal-ACL "verify=recipient", jew ċerti bidliet għal local_part_suffix). Attakk remot huwa possibbli wkoll jekk l-attakkant ikun kapaċi jżomm il-konnessjoni mas-server miftuħa għal 7 ijiem (per eżempju, jibgħat byte wieħed kull minuta biex jevita timeout). Fl-istess ħin, huwa possibbli li jkun hemm vettori ta 'attakk aktar sempliċi għall-isfruttament mill-bogħod tal-problema.

Il-vulnerabbiltà hija kkawżata minn verifika mhux korretta tal-indirizz tar-riċevitur fil-funzjoni deliver_message() definita fil-fajl /src/deliver.c. Billi jimmanipula l-ifformattjar tal-indirizz, attakkant jista 'jikseb is-sostituzzjoni tad-dejta tiegħu fl-argumenti ta' kmand imsejjaħ permezz tal-funzjoni execv() bi drittijiet tal-għeruq. It-tħaddim ma jeħtieġx l-użu ta' tekniki kumplessi użati għall-overflows tal-buffer jew il-korruzzjoni tal-memorja hija biżżejjed;

Il-problema hija relatata mal-użu tal-kostruzzjoni għall-konverżjoni tal-indirizz:

deliver_localpart = expand_string (
string_sprintf ("${local_part:%s}", new->indirizz));
deliver_domain = expand_string (
string_sprintf ("${domain:%s}", new->indirizz));

Il-funzjoni expand_string() hija kombinatur ikkumplikat iżżejjed, inkluż ir-rikonoxximent tal-kmand "${run{command arguments}", li jwassal għat-tnedija ta 'handler estern. Għalhekk, biex jattakka fi ħdan sessjoni SMTP, utent lokali jeħtieġ biss li jibgħat kmand bħal 'RCPT TO “username+${run{...}}@localhost”', fejn localhost huwa wieħed mill-hosts mil-lista lokali_domains, u l-isem tal-utent huwa l-isem ta' utent lokali eżistenti.

Jekk is-server jaħdem bħala mail relay, huwa biżżejjed li tibgħat mill-bogħod il-kmand 'RCPT TO "${run{...}}@relaydomain.com"', fejn relaydomain.com huwa wieħed mill-hosts elenkati fir-relay_to_domains. sezzjoni tas-settings. Peress li Exim ma tiddependix li tneħħi l-mod ta' privileġġ (deliver_drop_privilege = false), il-kmandi mgħoddija permezz ta' "${run{...}}" se jiġu eżegwiti bħala root.

Ta 'min jinnota li l-vulnerabbiltà kienet eliminati fir-rilaxx 4.92 rilaxxat fi Frar, mingħajr ma enfasizzat li l-iffissar jista 'jwassal għal problemi ta' sigurtà. M'hemm l-ebda raġuni biex wieħed jemmen li kien hemm ħabi intenzjonat tal-vulnerabbiltà mill-iżviluppaturi Exim, peress li l-problema ġiet irranġata matul jiffissa falliment li jseħħ meta jiġu trażmessi indirizzi skorretti, u l-vulnerabbiltà ġiet identifikata minn Qualys waqt verifika tal-bidliet fl-Exim.

Soluzzjoni għal verżjonijiet preċedenti li jkomplu jintużaw fid-distribuzzjonijiet bħalissa hija disponibbli biss bħala garża. Rilaxxi korrettivi għall-fergħat preċedenti biex jirranġaw il-problema huma skedati għall-11 ta 'Ġunju. Aġġornamenti tal-pakkett huma lesti għal Debian, Ubuntu, openSUSE. Arch Linux и Fedora Huma jipprovdu verżjoni 4.92, li fiha l-problema ma tidhirx. Problema RHEL u CentOS mhux suxxettibbli, peress li Exim mhix inkluża fir-repożitorju tal-pakkett regolari tagħhom.

Sors: opennet.ru

Żid kumment