Fis-server tal-posta Exim
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
Soluzzjoni għal verżjonijiet preċedenti li jkomplu jintużaw fid-distribuzzjonijiet bħalissa hija disponibbli biss bħala
Sors: opennet.ru