Patched Exim - patch lagi. Eksekusi Perintah Remote Baru di Exim 4.92 dalam satu permintaan


Baru-baru ini, pada awal musim panas, ada panggilan besar untuk memperbarui Exim ke versi 4.92 karena kerentanan CVE-2019-10149 ( Segera perbarui Exim ke 4.92 - infeksi aktif / Habr ). Dan tempo hari ternyata Sustes malware memutuskan untuk mengambil keuntungan dari kerentanan ini.


Sekarang semua yang segera diperbarui dapat kembali โ€œbahagiaโ€: pada 21 Juli 2019, peneliti Zerons menemukan kerentanan kritis dalam agen Transfer Surat Exim (MTA) ketika menggunakan TLS untuk versi dari 4,80 hingga 4,92.1 inklusif, memungkinkan eksekusi kode jarak jauh dengan hak istimewa ( CVE) -2019-15846 ).


Kerentanan


Kerentanan hadir saat menggunakan pustaka GnuTLS dan OpenSSL saat membuat koneksi TLS yang aman.


Menurut pengembang Heiko Schlittermann, file konfigurasi di Exim tidak menggunakan TLS secara default, namun, banyak distribusi membuat sertifikat yang diperlukan selama instalasi dan termasuk koneksi yang aman. Versi Exim yang lebih baru juga mengatur opsi tls_advertise_hosts = * dan menghasilkan sertifikat yang diperlukan.


tergantung pada konfigurasi. Sebagian besar distro mengaktifkannya secara default, tetapi Exim membutuhkan kunci sertifikat + untuk berfungsi sebagai server TLS. Mungkin Distro membuat Cert selama pengaturan. Exims yang lebih baru memiliki opsi tls_advertise_hosts default ke "*" dan membuat sertifikat yang ditandatangani sendiri, jika tidak ada yang disediakan.

Kerentanan itu sendiri terdiri dari pemrosesan SNI yang salah (Server Name Indication, sebuah teknologi yang diperkenalkan pada 2003 di RFC 3546 untuk meminta klien sertifikat yang sah untuk nama domain, Distribusi standar SNI TLS / Blog perusahaan Grup WEBO / Habr ) selama jabat tangan TLS. Cukup bagi penyerang untuk mengirim SNI yang diakhiri dengan garis miring terbalik ("\") dan karakter nol ("\ 0").


Peneliti Qualys menemukan bug dalam fungsi string_printing (tls_in.sni), yang merupakan kesalahan "" melarikan diri. Akibatnya, garis miring terbalik ditulis dalam bentuk tidak terhapus ke file header spool cetak. Selanjutnya, file ini dengan hak istimewa dibaca oleh fungsi spool_read_header (), yang mengarah ke heap overflow.


Perlu dicatat bahwa saat ini, pengembang Exim telah menciptakan kerentanan PoC dengan eksekusi perintah pada server rentan yang jauh, tetapi belum tersedia untuk umum. Karena kemudahan pengoperasian bug, ini hanya masalah waktu, dan cukup singkat.


Studi Qualys yang lebih rinci dapat ditemukan di sini .


Menggunakan SNI dalam TLS


Menggunakan SNI dalam TLS


Jumlah server publik yang berpotensi rentan


Menurut statistik dari penyedia hosting besar E-Soft Inc, per 1 September, versi 4.92 digunakan pada lebih dari 70% host pada server sewaan.


VersiJumlah serverPersen
4.92.164711,28%
4.9237643674,22%
4.915817911,47%
4.957321,13%
4.89107002,11%
4.87141772,80%
4.8499371,96%
Versi lain255685,04%

Statistik perusahaan E-Soft Inc


Jika Anda beralih ke mesin pencari Shodan , maka dari 5.250.000 di database server:


  • sekitar 3.500.000 menggunakan Exim 4.92 (sekitar 1.380.000 menggunakan SSL / TLS);
  • lebih dari 74.000 menggunakan 4.92.1 (sekitar 25.000 menggunakan SSL / TLS).

Dengan demikian, ada sekitar 1,5 juta server Exim yang berpotensi diketahui publik dan dapat diakses.


Menemukan Exim Server di Shodan


Menemukan Exim Server di Shodan


Perlindungan


  • Opsi termudah, tetapi tidak disarankan, adalah tidak menggunakan TLS, yang akan mengarah pada penerusan pesan email dalam teks yang jelas.
  • Untuk menghindari eksploitasi kerentanan, akan lebih baik untuk meningkatkan ke Exim Internet Mailer 4.92.2 .
  • Jika tidak mungkin untuk meningkatkan atau menginstal versi yang ditambal, Anda dapat mengatur ACL di konfigurasi Exim untuk opsi acl_smtp_mail dengan aturan berikut:

    # to be prepended to your mail acl (the ACL referenced # by the acl_smtp_mail main config option) deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}} deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}} 

Source: https://habr.com/ru/post/id467089/


All Articles