Detailer vu kritescher Schwachstelle am Exim opgedeckt

publizéiert korrektiv Verëffentlechung Exim 4.92.2 mat der Eliminatioun vun kritescher Schwachstelle (CVE-2019-15846), wat an der Standardkonfiguratioun zu der Remote Code Ausféierung vun engem Ugräifer mat Root-Privilegien féieren kann. De Problem erschéngt nëmme wann TLS-Ënnerstëtzung aktivéiert ass a gëtt exploitéiert andeems e speziell entworf Clientzertifika oder geännert Wäert un SNI passéiert. Schwachstelle identifizéiert vum Qualys.

Problem presentéieren am Handler fir speziell Zeechen an der String ze entkommen (string_interpret_escape() aus string.c) a gëtt verursaacht duerch de Charakter '\' um Enn vun der String, déi virum Null-Charakter ('\0') interpretéiert gëtt an et entkommt. Beim Flucht ginn d'Sequenz '\' an de folgenden Null-Enn-of-Line-Code als eenzeg Charakter behandelt an de Pointer gëtt op Daten ausserhalb vun der Linn verréckelt, déi als Fortsetzung vun der Linn behandelt ginn.

De Code, deen string_interpret_escape () nennt, verdeelt e Puffer fir den Drain baséiert op der aktueller Gréisst, an den ausgesate Pointer endet an engem Gebitt ausserhalb vun de Puffergrenzen. Deementspriechend, wann Dir probéiert en Input String ze veraarbecht, entsteet eng Situatioun wann Dir Daten aus engem Gebitt ausserhalb vun de Grenze vum zougewisene Puffer liest, an e Versuch fir en net entloossene String ze schreiwen kann zum Schreiwen iwwer d'Grenze vum Puffer féieren.

An der Standardkonfiguratioun kann d'Schwachheet exploitéiert ginn andeems se speziell entworf Daten un SNI schécken wann Dir eng sécher Verbindung mam Server opstellt. D'Thema kann och exploitéiert ginn andeems Dir Peerdn Wäerter an Konfiguratiounen ännert, konfiguréiert fir d'Authentifikatioun vum Client Zertifikat oder beim Import vun Zertifikater. Attack iwwer SNI an peerdn ass méiglech ab Verëffentlechung Exim 4.80, an deem d'Funktioun string_unprinting () benotzt gouf fir de Peerdn- a SNI-Inhalter ze drécken.

En Exploit Prototyp gouf fir en Attack iwwer SNI virbereet, Lafen op i386 an amd64 Architekturen op Linux Systemer mat Glibc. D'Exploit benotzt Dateniwwerlagerung op der Heapberäich, wat resultéiert datt d'Erënnerung iwwerschreift, an där de Log Dateinumm gespäichert ass. Den Dateinumm gëtt duerch "/../../../../../../../../etc/passwd" ersat. Als nächst gëtt d'Variabel mat der Adress vum Sender iwwerschriwwen, déi als éischt am Logbuch gespäichert gëtt, wat Iech erlaabt en neie Benotzer an de System ze addéieren.

Package Updates mat Schwachstelle Fixes verëffentlecht vu Verdeelungen Debian, Ubuntu, Fedora, SUSE/openSUSE и FreeBSD. RHEL an CentOS Problem net ufälleg, well Exim net an hirem normale Package Repository abegraff ass (in WARM Erneierung schonn geformt, awer fir elo net gesat zu engem ëffentleche Repository). Am Exim Code ass de Problem mat engem One-Liner fixéiert flécken, wat de Fluchteffekt vum Réckschnëtt deaktivéiert wann et um Enn vun der Linn ass.

Als Léisung fir d'Schwachheet ze blockéieren, kënnt Dir TLS Ënnerstëtzung auszeschalten oder addéieren
ACL Sektioun "acl_smtp_mail":

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

Source: opennet.ru

Setzt e Commentaire