Ho ba kotsing ho hoholo ho Exim e lumellang khoutu ho etsoa ho seva ka litokelo tsa motso.

Ho seva sa mangolo-tsoibila sa Exim tsebahatsoa nyatsa bofokodi (CVE-2019-10149), e ka lebisang ho ts'ebetsong ea khoutu e hole ho seva e nang le litokelo tsa motso ha o sebetsana le kopo e entsoeng ka mokhoa o khethehileng. Monyetla oa ho sebelisoa ha bothata o ile oa hlokomeloa liphetolelong ho tloha ho 4.87 ho ea ho 4.91 ho kenyeletsa kapa ha ho hahoa ka khetho ea EXPERIMENTAL_EVENT.

Ka tlhophiso ea kamehla, tlhaselo e ka etsoa ntle le mathata a sa hlokahaleng ke mosebelisi oa lehae, kaha "netefatsa = moamoheli" e sebelisoa ACL, e etsang licheke tse eketsehileng bakeng sa liaterese tsa kantle. Tlhaselo e hole e ka etsahala ha litlhophiso li fetoloa, joalo ka ho sebetsa joalo ka MX ea bobeli bakeng sa domain e 'ngoe, ho tlosa "verify=recipient" ACL, kapa liphetoho tse itseng ho local_part_suffix). Tlhaselo e ka thōko e boetse e ka khoneha haeba mohlaseli a khona ho boloka khokahanyo ho seva e bulehile ka matsatsi a 7 (mohlala, ho romela byte e le 'ngoe ka motsotso ho feta nako ea nako). Ka nako e ts'oanang, ho ka etsahala hore ho na le li-vector tse bonolo tse hlaselang bakeng sa tšebeliso e hole ea bothata.

Kotsi e bakoa ke netefatso e fosahetseng ea aterese ea moamoheli mosebetsing oa deliver_message() o hlalositsoeng ho faele ea /src/deliver.c. Ka ho qhekella sebopeho sa aterese, mohlaseli a ka khona ho kenya sebaka sa data ea hae ka mabaka a taelo e bitsoang execv() mosebetsi o nang le litokelo tsa motso. Ts'ebetso ha e hloke ts'ebeliso ea mekhoa e rarahaneng e sebelisoang bakeng sa ho phatloha ho hoholo kapa bobolu ba mohopolo; ho fetola litlhaku ho lekane.

Bothata bo amana le tšebeliso ea moaho bakeng sa phetolo ea aterese:

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

Mosebetsi oa expand_string() ke motsoako o rarahaneng ho feta tekano, ho kenyelletsa le ho lemoha taelo "${run{command arguments}", e leng se lebisang ho qalisoa ha mochine oa ka ntle. Kahoo, ho hlasela ka har'a seboka sa SMTP, mosebelisi oa lehae o hloka feela ho romella taelo e kang 'RCPT HO "username+${run{...}}@localhost"', moo localhost e leng e mong oa baamoheli ho tsoa lenaneng la libaka tsa lehae, mme lebitso la mosebelisi ke lebitso la mosebelisi ea seng a ntse a le teng.

Haeba seva se sebetsa e le poso ea poso, ho lekane ho romela taelo ea 'RCPT HO "${run{...}}@relaydomain.com" u le hole, moo relaydomain.com e leng e mong oa mabotho a thathamisitsoeng ho relay_to_domains. karolo ea litlhophiso. Kaha Exim ha e khethe ho tlohela mokhoa oa tokelo (deliver_drop_privilege = bohata), litaelo tse fetisoang ka "${run{...}}" li tla sebelisoa joalo ka motso.

Hoa hlokomeleha hore ts'oaetso e ne e le felisitsoe tokollong ea 4.92 e lokollotsoeng ka Hlakola, ntle le ho hatisa hore tokiso e ka lebisa mathateng a ts'ireletso. Ha ho na lebaka la ho lumela hore ho bile le ho patoa ka boomo ha bofokoli ke baetsi ba Exim, kaha bothata bo ile ba lokisoa nakong ea e lokisa ho hloleha ho etsahalang ha liaterese tse fosahetseng li fetisoa, 'me bofokoli bo ile ba khetholloa ke Qualys nakong ea tlhahlobo ea liphetoho ho Exim.

Tokiso ea liphetolelo tse fetileng tse ntseng li tsoela pele ho sebelisoa kabong e fumaneha feela joalo ka patch. Litokollo tse lokisoang bakeng sa makala a fetileng ho lokisa bothata li reriloe ka la 11 Phuptjane. Lintlafatso tsa sephutheloana li lokile Debian, Botho, bula SETE. Arch Linux и Fedora Ba fana ka mofuta oa 4.92, moo bothata bo sa hlahang. RHEL le bothata ba CentOS e sa tshoheng, kaha Exim ha e kenyelelitsoe polokelong ea bona e tloaelehileng ea liphutheloana.

Source: opennet.ru

Eketsa ka tlhaloso