Leochaileacht chriticiúil in Exim a cheadaíonn cód a fhorghníomhú ar an bhfreastalaí le pribhléidí fréimhe

I bhfreastalaí ríomhphoist Exim aitheanta crícheach leochaileacht (CVE-2019-10149), rud a d’fhéadfadh forghníomhú cianchóid a bheith mar thoradh ar an bhfreastalaí le cearta fréimhe nuair a bhíonn iarratas saindéanta á phróiseáil. Tugadh faoi deara go bhféadfaí an fhadhb a shaothrú i leaganacha ó 4.87 go 4.91 san áireamh nó nuair a bhíothas ag tógáil leis an rogha EXPERIMENTAL_EVENT.

Sa chumraíocht réamhshocraithe, is féidir le húsáideoir áitiúil an t-ionsaí a dhéanamh gan deacrachtaí gan ghá, ós rud é go gcuirtear an ACL "deimhnigh = faighteoir" i bhfeidhm, a dhéanann seiceálacha breise ar sheoltaí seachtracha. Is féidir le cianionsaí tarlú nuair a athraítear socruithe, mar shampla gníomhú mar MX tánaisteach d’fhearann ​​eile, an ACL “verify=faighteoir” a bhaint, nó athruithe áirithe ar local_part_suffix). Is féidir ionsaí cianda a dhéanamh freisin má tá an t-ionsaitheoir in ann an nasc leis an bhfreastalaí a choinneáil ar oscailt ar feadh 7 lá (mar shampla, beart amháin in aghaidh an nóiméid a sheoladh chun teorainn ama a sheachaint). Ag an am céanna, is féidir go bhfuil veicteoirí ionsaithe níos simplí ann chun an fhadhb a shaothrú go cianda.

Is é is cúis leis an leochaileacht ná fíorú mícheart ar sheoladh an fhaighteora san fheidhm deliver_message() atá sainmhínithe sa chomhad /src/deliver.c. Trí fhormáidiú an tseolta a ionramháil, is féidir le hionsaitheoir a chuid sonraí a chur in ionad argóintí ordaithe a dtugtar tríd an bhfeidhm execv() le cearta fréamhacha a bhaint amach. Ní éilíonn an oibríocht go n-úsáidfear teicnící casta a úsáidtear le haghaidh ró-shreabhadh maolánach nó éilliú cuimhne;

Baineann an fhadhb le húsáid na tógála le haghaidh comhshó seoltaí:

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

Is comhcheangail ró-chasta í an fheidhm expand_string(), lena n-áirítear an t-ordú “${run{command arguments}” a aithint”, as a dtagann seoladh láimhseálaí seachtrach. Mar sin, chun ionsaí a dhéanamh laistigh de sheisiún SMTP, ní gá d’úsáideoir áitiúil ach ordú cosúil le ‘RCPT TO “username +${run{...}}@localhost”’ a sheoladh, áit a bhfuil localhost ar cheann de na hóstach ón liosta local_domains, agus is é ainm úsáideora ainm úsáideora áitiúil atá ann cheana féin.

Má oibríonn an freastalaí mar athsheoladh ríomhphoist, is leor an t-ordú 'RCPT TO "${run{...}}@relaydomain.com"' a sheoladh go cianda, áit a bhfuil relaydomain.com ar cheann de na hóstach atá liostaithe sa relay_to_domains rannóg socruithe. Ós rud é nach réamhshocrú do Exim mód pribhléide a scaoileadh (deliver_drop_privilege = bréagach), déanfar orduithe a ritheadh ​​trí "${run{...}}" a fhorghníomhú mar fhréamh.

Is fiú a lua go raibh an leochaileacht deireadh sa scaoileadh 4.92 a scaoileadh i mí Feabhra, gan béim a chur air go bhféadfadh fadhbanna slándála a bheith mar thoradh ar an socrú. Níl aon chúis le creidiúint go ndearna forbróirí Exim an leochaileacht a cheilt d'aon ghnó, ós rud é gur réitíodh an fhadhb le linn deisiúcháin teip a tharlaíonn nuair a tharchuirtear seoltaí míchearta, agus d’aithin Qualys an leochaileacht le linn iniúchta ar athruithe in Exim.

Níl fáil ar shocrú le haghaidh leaganacha roimhe seo a leanann de bheith á n-úsáid i dáiltí faoi láthair ach amháin mar paiste. Tá eisiúintí ceartaitheacha do bhrainsí roimhe seo chun an fhadhb a réiteach sceidealta don 11 Meitheamh. Tá nuashonruithe pacáiste réidh le haghaidh Debian, ubuntu, openSUSE. Arch Linux и Fedora Soláthraíonn siad leagan 4.92, nach bhfuil an fhadhb le feiceáil. fadhb RHEL agus CentOS ní so-ghabhálach, toisc nach bhfuil Exim san áireamh ina stór pacáiste rialta.

Foinse: oscailtenet.ru

Add a comment