Exim Bregusrwydd Critigol wedi'i Datgelu

Cyhoeddwyd rhyddhau cywirol Exim 4.92.2 gyda dileu critigol gwendidau (CVE-2019-15846), a all yn y ffurfweddiad diofyn arwain at weithredu cod o bell gan ymosodwr sydd Γ’ breintiau gwraidd. Mae'r broblem ond yn ymddangos pan fydd cymorth TLS wedi'i alluogi ac yn cael ei ecsbloetio trwy basio tystysgrif cleient a ddyluniwyd yn arbennig neu werth wedi'i addasu i SNI. Bregusrwydd a nodwyd gan Qualys.

problem yn bresenol yn y triniwr ar gyfer dianc nodau arbennig yn y llinyn (string_interpret_dianc() o string.c) ac fe'i hachosir gan y nod '\' ar ddiwedd y llinyn yn cael ei ddehongli cyn y nod null ('\0') a'i ddianc. Wrth ddianc, mae'r dilyniant '\' a'r cod diwedd llinell nwl canlynol yn cael eu trin fel un nod ac mae'r pwyntydd yn cael ei symud i ddata y tu allan i'r llinell, sy'n cael ei drin fel parhad o'r llinell.

Mae'r cod galw string_interpret_escape() yn dyrannu byffer ar gyfer y draen yn seiliedig ar y maint gwirioneddol, ac mae'r pwyntydd agored yn gorffen mewn ardal y tu allan i ffiniau'r byffer. Yn unol Γ’ hynny, wrth geisio prosesu llinyn mewnbwn, cyfyd sefyllfa wrth ddarllen data o ardal y tu allan i ffiniau'r byffer a neilltuwyd, a gall ymgais i ysgrifennu llinyn heb ddianc arwain at ysgrifennu y tu hwnt i ffiniau'r byffer.

Yn y ffurfweddiad rhagosodedig, gellir manteisio ar y bregusrwydd trwy anfon data a ddyluniwyd yn arbennig i SNI wrth sefydlu cysylltiad diogel Γ’'r gweinydd. Gellir manteisio ar y mater hefyd trwy addasu gwerthoedd peerdn mewn ffurfweddiadau sydd wedi'u ffurfweddu ar gyfer dilysu tystysgrifau cleient neu wrth fewnforio tystysgrifau. Mae ymosodiad trwy SNI a peedn yn bosibl gan ddechrau o ryddhau Exim 4.80, lle defnyddiwyd y ffwythiant string_unprinting() i ddadbrintio'r cynnwys peredn a SNI.

Mae prototeip ecsbloetio wedi'i baratoi ar gyfer ymosodiad trwy SNI, sy'n rhedeg ar bensaernΓ―aeth i386 ac amd64 ar systemau Linux gyda Glibc. Mae'r camfanteisio yn defnyddio troshaen data ar ardal y domen, gan arwain at drosysgrifo'r cof y mae enw'r ffeil log yn cael ei storio ynddo. Mae enw'r ffeil yn cael ei ddisodli gan "/../../../../../../../../etc/passwd". Nesaf, mae'r newidyn gyda chyfeiriad yr anfonwr yn cael ei drosysgrifo, sy'n cael ei gadw gyntaf yn y log, sy'n eich galluogi i ychwanegu defnyddiwr newydd i'r system.

Diweddariadau pecyn gydag atgyweiriadau bregusrwydd a ryddhawyd gan ddosbarthiadau Debian, Ubuntu, Fedora, SUS/openSUSE ΠΈ FreeBSD. RHEL a CentOS problem ddim yn agored i niwed, gan nad yw Exim wedi'i gynnwys yn eu storfa becynnau arferol (yn CYNNES ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ eisoes ffurfio, ond am y tro heb ei osod i ystorfa gyhoeddus). Yn y cod Exim mae'r broblem yn cael ei datrys gydag un leinin clwt, sy'n analluogi effaith dianc y backslash os yw ar ddiwedd y llinell.

Fel ateb i atal y bregusrwydd, gallwch analluogi cefnogaeth TLS neu ychwanegu
Adran ACL β€œacl_smtp_mail”:

gwadu cyflwr = ${os eq{\\}{${ substr{-1}{1}{$tls_in_sni}}}}
gwadu cyflwr = ${os eq{\\}{${ substr{-1}{1}{$tls_in_peerdn}}}}

Ffynhonnell: opennet.ru

Ychwanegu sylw