Rincian kerentanan kritis dina Exim wangsit

diterbitkeun release corrective Exim 4.92.2 kalawan ngaleungitkeun kritis vulnerabilities (CVE-2019-15846), anu dina konfigurasi standar tiasa nyababkeun palaksanaan kode jauh ku panyerang anu gaduh hak istimewa root. Masalahna ngan muncul nalika dukungan TLS diaktipkeun sareng dieksploitasi ku ngalangkungan sertipikat klien anu dirarancang khusus atanapi nilai anu dirobih kana SNI. Karentanan dicirikeun ku Qualys.

masalah hadir dina pawang pikeun lolos karakter husus dina senar (string_interpret_escape() ti string.c) sarta disababkeun ku '\' karakter dina tungtung string keur diinterpretasi saméméh karakter null ('\ 0') sarta escaping eta. Nalika kabur, sekuen '\' sareng kodeu tungtung-garis null di handap ieu diperlakukeun salaku karakter tunggal sareng pointer dialihkeun kana data di luar jalur, anu dianggap salaku tuluyan tina jalur.

Kode nelepon string_interpret_escape () allocates panyangga pikeun solokan dumasar kana ukuran sabenerna, jeung pointer kakeunaan ends nepi di wewengkon luar wates panyangga urang. Sasuai, nalika nyobian ngolah hiji string input, timbul kaayaan nalika maca data ti wewengkon luar wates of panyangga disadiakeun, sarta usaha nulis string unescaped bisa ngakibatkeun nulis saluareun wates of panyangga.

Dina konfigurasi standar, kerentanan tiasa dimanfaatkeun ku ngirim data anu dirancang khusus ka SNI nalika ngadamel sambungan anu aman ka server. Masalahna ogé tiasa dieksploitasi ku ngarobih nilai peerdn dina konfigurasi anu dikonpigurasi pikeun auténtikasi sertipikat klien atanapi nalika ngimpor sertipikat. Serangan via SNI sareng peerdn dimungkinkeun mimitian ti pelepasan Exim 4.80, nu string_unprinting () fungsi ieu dipaké pikeun unprint eusi perdn jeung SNI.

Prototipe eksploitasi parantos disiapkeun pikeun serangan via SNI, dijalankeun dina arsitéktur i386 sareng amd64 dina sistem Linux nganggo Glibc. Eksploitasi ngagunakeun overlay data dina wewengkon numpuk, hasilna overwriting mémori nu ngaran file log disimpen. Ngaran koropakna diganti ku "/../../../../../../../../etc/passwd". Salajengna, variabel sareng alamat pangirim ditimpa, anu munggaran disimpen dina log, anu ngamungkinkeun anjeun nambihan pangguna énggal kana sistem.

Pembaruan paket sareng perbaikan kerentanan anu dikaluarkeun ku distribusi Debian, Ubuntu, Fedora, SUSE / openSUSE и FreeBSD. Masalah RHEL sareng CentOS teu rentan, sabab Exim henteu kalebet dina gudang pakét biasa (di haneut update enggeus kabentuk, tapi pikeun ayeuna teu disimpen ka gudang umum). Dina kode Exim masalah dibereskeun ku hiji-liner patch, nu disables éfék escaping of backslash lamun éta dina tungtung garis.

Salaku solusi pikeun meungpeuk kerentanan, anjeun tiasa nganonaktipkeun dukungan TLS atanapi nambihan
Bagian ACL "acl_smtp_mail":

kaayaan nolak = ${lamun eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
kaayaan nolak = ${lamun eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

sumber: opennet.ru

Tambahkeun komentar