Nochd mion-fhiosrachadh mu chugallachd èiginneach ann an Exim

foillsichte sgaoileadh ceartachaidh Eisimpleir 4.92.2 le bhith a’ cur às do dh’ èiginn so-leòntachd (CVE-2019-15846), a dh’ fhaodadh anns an rèiteachadh bunaiteach leantainn gu coileanadh còd iomallach le neach-ionnsaigh le sochairean freumh. Cha nochd an duilgheadas ach nuair a tha taic TLS air a chomasachadh agus air a chleachdadh le bhith a’ toirt seachad teisteanas teachdaiche a chaidh a dhealbhadh gu sònraichte no luach atharraichte gu SNI. So-leòntachd aithnichte le Qualys.

duilgheadas an làthair anns an inneal-làimhseachaidh airson faighinn seachad air caractaran sònraichte san t-sreang (string_interpret_escape() bho string.c) agus tha e air adhbhrachadh leis a' charactar '\' aig deireadh an t-sreang air a mhìneachadh ron charactar null ('\0') agus a' teicheadh ​​às. Nuair a bhios tu a’ teicheadh, bithear a’ dèiligeadh ris an t-sreath ‘\’ agus a’ chòd deireadh-loidhne null a leanas mar aon charactar agus thèid am puing a ghluasad gu dàta taobh a-muigh na loidhne, a thathas a’ làimhseachadh mar leantalachd den loidhne.

Bidh an còd a tha a’ gairm string_interpret_escape() a’ riarachadh bufair airson an drèana stèidhichte air an fhìor mheud, agus thig am puing fosgailte gu crìch ann an àite taobh a-muigh crìochan a’ bhufair. Mar sin, nuair a thathar a’ feuchainn ri sreang cuir a-steach a ghiullachd, bidh suidheachadh ag èirigh nuair a leughas tu dàta bho raon taobh a-muigh crìochan a’ bhufair ainmichte, agus ma dh’ fheuchas tu ri sreang neo-ruigsinneach a sgrìobhadh faodaidh sin leantainn gu sgrìobhadh nas fhaide na crìochan a’ bhufair.

Anns an rèiteachadh bunaiteach, faodar brath a ghabhail air an so-leòntachd le bhith a’ cur dàta a chaidh a dhealbhadh gu sònraichte gu SNI nuair a thathar a’ stèidheachadh ceangal tèarainte ris an fhrithealaiche. Faodar brath a ghabhail air a’ chùis cuideachd le bhith ag atharrachadh luachan peredn ann an rèiteachaidhean a chaidh a dhealbhadh airson dearbhadh teisteanas teachdaiche no nuair a thathar a’ toirt a-steach teisteanasan. Tha e comasach ionnsaigh tro SNI agus peredn a’ tòiseachadh bho leigeil ma sgaoil Eisimpleir 4.80, anns an deach an gnìomh string_unprinting () a chleachdadh gus susbaint peredn agus SNI a dhì-chlò-bhualadh.

Chaidh prototype brath ullachadh airson ionnsaigh tro SNI, a’ ruith air ailtireachd i386 agus amd64 air siostaman Linux le Glibc. Bidh an brath a’ cleachdadh ath-chòmhdach dàta air an raon cruachainn, agus mar thoradh air sin bidh ath-sgrìobhadh a’ chuimhne anns a bheil ainm an fhaidhle log air a stòradh. Tha “/../../../../../../../../etc/passwd” an àite ainm an fhaidhle. An uairsin, tha an caochladair le seòladh an neach a chuir e thairis air, a thèid a shàbhaladh an toiseach sa log, a leigeas leat cleachdaiche ùr a chuir ris an t-siostam.

Ùrachaidhean pacaid le fuasglaidhean so-leòntachd air an leigeil ma sgaoil le sgaoilidhean Debian, Ubuntu, Fedora, SUSE/openSUSE и FreeBSD. duilgheadas RHEL agus CentOS chan e cuspair, leis nach eil Exim air a thoirt a-steach don stòr pacaid cunbhalach aca (ann an EPEL ùrachadh mar-thà air a chruthachadh, ach airson a-nis nach deach a shuidheachadh gu stòr poblach). Ann an còd Exim tha an duilgheadas air a rèiteachadh le aon loidhne paiste, a chuireas casg air buaidh teicheadh ​​​​a’ bhac ma tha e aig deireadh na loidhne.

Mar dhòigh-obrach gus casg a chuir air so-leòntachd, faodaidh tu taic TLS a chuir dheth no cuir ris
Earrann ACL “acl_smtp_mail”:

deny condition = ${ ma tha eq{\\}{${ substr{-1}{1}{$tls_in_sni}}}}
deny condition = ${ ma tha eq{\\}{${ substr{-1}{1}{$tls_in_peerdn}}}}

Source: fosgailtenet.ru

Cuir beachd ann