Rincian kerentanan kritis ing Exim dicethakaké

diterbitake release korektif Eksim 4.92.2 kanthi ngilangi kritis vulnerabilities (CVE-2019-15846), sing ing konfigurasi standar bisa nyebabake eksekusi kode remot dening panyerang kanthi hak istimewa root. Masalah kasebut mung katon nalika dhukungan TLS diaktifake lan dieksploitasi kanthi menehi sertifikat klien sing dirancang khusus utawa nilai sing diowahi menyang SNI. Kerentanan dikenali dening Qualys.

masalah saiki ing pawang kanggo uwal karakter khusus ing senar (string_interpret_escape() saka string.c) lan disebabake karakter '\' ing mburi senar sing diinterpretasikake sadurunge karakter null ('\ 0') lan uwal. Nalika uwal, urutan '\' lan kode null end-of-line ing ngisor iki dianggep minangka karakter siji lan pointer dipindhah menyang data njaba baris, kang dianggep minangka tutugan saka baris.

Kode nelpon string_interpret_escape () allocates buffer kanggo saluran adhedhasar ukuran nyata, lan pitunjuk kapapar ends munggah ing wilayah njaba wates buffer. Patut, nalika nyoba kanggo proses senar input, kahanan njedhul nalika maca data saka wilayah njaba wates saka buffer diparengake, lan nyoba kanggo nulis senar unescaped bisa mimpin kanggo nulis ngluwihi wates buffer.

Ing konfigurasi standar, kerentanan bisa dimanfaatake kanthi ngirim data sing dirancang khusus menyang SNI nalika nggawe sambungan aman menyang server. Masalah kasebut uga bisa dimanfaatake kanthi ngowahi nilai peerdn ing konfigurasi sing dikonfigurasi kanggo otentikasi sertifikat klien utawa nalika ngimpor sertifikat. Serangan liwat SNI lan perdn bisa diwiwiti saka release Eksim 4.80, kang fungsi string_unprinting () digunakake kanggo unprint isi peerdn lan SNI.

Prototipe eksploitasi wis disiapake kanggo serangan liwat SNI, mlaku ing arsitektur i386 lan amd64 ing sistem Linux nganggo Glibc. Eksploitasi nggunakake overlay data ing area numpuk, nyebabake nimpa memori ing ngendi jeneng file log disimpen. Jeneng berkas diganti karo "/../../../../../../../../etc/passwd". Sabanjure, variabel karo alamat pangirim ditimpa, sing pisanan disimpen ing log, sing ngidini sampeyan nambah pangguna anyar menyang sistem.

Nganyari paket kanthi perbaikan kerentanan sing dirilis dening distribusi Debian, ubuntu, Fedora, SUSE/openSUSE и FreeBSD. Masalah RHEL lan CentOS ora rentan, amarga Exim ora kalebu ing repositori paket reguler (ing anget nganyari wis kawangun, nanging kanggo saiki ora diselehake menyang repositori umum). Ing kode Exim masalah ditanggulangi karo siji-liner tembelan, sing mateni efek uwal saka backslash yen ana ing mburi baris.

Minangka solusi kanggo mblokir kerentanan, sampeyan bisa mateni dhukungan TLS utawa nambah
ACL bagean "acl_smtp_mail":

syarat nolak = ${yen eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
syarat nolak = ${yen eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

Source: opennet.ru

Add a comment