U zbuluan detaje të cenueshmërisë kritike në Exim

botuar lirim korrigjues Ekzaminimi 4.92.2 me eliminimin e kritikës dobësitë (CVE-2019-15846), i cili në konfigurimin e paracaktuar mund të çojë në ekzekutimin e kodit në distancë nga një sulmues me privilegje rrënjësore. Problemi shfaqet vetëm kur mbështetja TLS është aktivizuar dhe shfrytëzohet duke i kaluar SNI një certifikatë klienti të krijuar posaçërisht ose vlerë të modifikuar. Cenueshmëria identifikuar nga Qualys.

problem prezente në mbajtësin për ikjen e karaktereve speciale në varg (string_interpret_escape() nga vargu.c) dhe shkaktohet nga interpretimi i karakterit '\' në fund të vargut para karakterit null ('\0') dhe ikja prej tij. Kur ikni, sekuenca '\' dhe kodi i fundit null i mëposhtëm trajtohen si një karakter i vetëm dhe treguesi zhvendoset në të dhëna jashtë rreshtit, i cili trajtohet si vazhdim i rreshtit.

Kodi që thërret string_interpret_escape() ndan një buffer për kullimin bazuar në madhësinë aktuale dhe treguesi i ekspozuar përfundon në një zonë jashtë kufijve të tamponit. Prandaj, kur përpiqeni të përpunoni një varg hyrës, lind një situatë kur lexoni të dhëna nga një zonë jashtë kufijve të tamponit të caktuar, dhe një përpjekje për të shkruar një varg të pashkruar mund të çojë në shkrim përtej kufijve të tamponit.

Në konfigurimin e paracaktuar, dobësia mund të shfrytëzohet duke dërguar të dhëna të projektuara posaçërisht te SNI kur krijoni një lidhje të sigurt me serverin. Problemi gjithashtu mund të shfrytëzohet duke modifikuar vlerat peerdn në konfigurimet e konfiguruara për vërtetimin e certifikatës së klientit ose kur importoni certifikata. Sulmi nëpërmjet SNI dhe peerdn është i mundur duke filluar nga lëshimi Ekzaminimi 4.80, në të cilin funksioni string_unprinting() është përdorur për të zhprintuar përmbajtjen peerdn dhe SNI.

Një prototip shfrytëzimi është përgatitur për një sulm nëpërmjet SNI, që funksionon në arkitekturat i386 dhe amd64 në sistemet Linux me Glibc. Shfrytëzimi përdor mbivendosjen e të dhënave në zonën e grumbullit, duke rezultuar në mbishkrimin e memories në të cilën është ruajtur emri i skedarit log. Emri i skedarit zëvendësohet me "/../../../../../../../../etc/passwd". Më pas, ndryshorja me adresën e dërguesit mbishkruhet, e cila së pari ruhet në regjistër, e cila ju lejon të shtoni një përdorues të ri në sistem.

Përditësimet e paketës me rregullime dobësie të lëshuara nga shpërndarjet Debian, Ubuntu, Fedora, SUSE/openSUSE и FreeBSD. Problemi RHEL dhe CentOS jo subjekt, pasi Exim nuk përfshihet në depon e tyre të rregullt të paketave (në E Ngrohtë përtëritje tashmë formuar, por tani për tani nuk vendoset në një depo publike). Në kodin Exim problemi zgjidhet me një linjë arnim, e cila çaktivizon efektin e ikjes së vijës së prapme nëse është në fund të rreshtit.

Si një zgjidhje për të bllokuar cenueshmërinë, mund të çaktivizoni mbështetjen e TLS ose të shtoni
Seksioni ACL "acl_smtp_mail":

kusht refuzimi = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
kusht refuzimi = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

Burimi: opennet.ru

Shto një koment