Ditambal Exim - tampal lagi. Perlaksanaan Perintah Jauh Baru dalam Exim 4.92 dalam satu permintaan

Ditambal Exim - tampal lagi. Perlaksanaan Perintah Jauh Baru dalam Exim 4.92 dalam satu permintaan

Baru-baru ini, pada awal musim panas, terdapat panggilan meluas untuk Exim dikemas kini kepada versi 4.92 disebabkan oleh kerentanan CVE-2019-10149 (Kemas kini Exim dengan segera kepada 4.92 - terdapat jangkitan aktif / Sudo Null IT News). Dan baru-baru ini ternyata bahawa perisian hasad Sustes memutuskan untuk mengambil kesempatan daripada kelemahan ini.

Kini semua mereka yang mengemas kini segera boleh "bergembira" sekali lagi: pada 21 Julai 2019, penyelidik Zerons menemui kelemahan kritikal dalam Ejen Pemindahan Mel Exim (MTA) apabila menggunakan TLS untuk versi dari 4.80 4.92.1 sehingga inklusif, membolehkan jarak jauh melaksanakan kod dengan hak istimewa (CVE-2019 15846-).

Kerentanan

Kerentanan hadir apabila menggunakan kedua-dua perpustakaan GnuTLS dan OpenSSL apabila mewujudkan sambungan TLS yang selamat.

Menurut pembangun Heiko Schlittermann, fail konfigurasi dalam Exim tidak menggunakan TLS secara lalai, tetapi banyak pengedaran mencipta sijil yang diperlukan semasa pemasangan dan membolehkan sambungan selamat. Juga versi Exim yang lebih baharu memasang pilihan tls_advertise_hosts=* dan menjana sijil yang diperlukan.

bergantung pada konfigurasi. Kebanyakan distro mendayakannya secara lalai, tetapi Exim memerlukan sijil+kunci untuk berfungsi sebagai pelayan TLS. Mungkin Distro membuat Sijil semasa persediaan. Exim yang lebih baharu mempunyai pilihan tls_advertise_hosts yang lalai kepada "*" dan buat sijil yang ditandatangani sendiri, jika tiada yang disediakan.

Kerentanan itu sendiri terletak pada pemprosesan SNI (Petunjuk Nama Pelayan yang salah, teknologi yang diperkenalkan pada tahun 2003 dalam RFC 3546 untuk pelanggan meminta sijil yang betul untuk nama domain, Pengedaran standard TLS SNI / Blog Kumpulan WEBO / Sudo Null IT News) semasa berjabat tangan TLS. Penyerang hanya perlu menghantar SNI yang berakhir dengan garis miring ke belakang ("") dan aksara nol (" ").

Penyelidik dari Qualys telah menemui pepijat dalam fungsi string_printing(tls_in.sni), yang melibatkan pelepasan "". Akibatnya, garis miring ke belakang ditulis tanpa terlepas pada fail pengepala kili cetakan. Fail ini kemudiannya dibaca dengan hak istimewa oleh fungsi spool_read_header(), yang membawa kepada limpahan timbunan.

Perlu diingat bahawa pada masa ini, pembangun Exim telah mencipta PoC kelemahan dengan pelaksanaan arahan pada pelayan terdedah jauh, tetapi ia belum lagi tersedia secara umum. Disebabkan oleh kemudahan eksploitasi pepijat, ia hanya menunggu masa, dan agak singkat.

Kajian yang lebih terperinci oleh Qualys boleh didapati di sini.

Ditambal Exim - tampal lagi. Perlaksanaan Perintah Jauh Baru dalam Exim 4.92 dalam satu permintaan

Menggunakan SNI dalam TLS

Bilangan pelayan awam yang berpotensi terdedah

Mengikut statistik dari penyedia hosting yang besar E-Soft Inc pada 1 September, pada pelayan yang disewa, versi 4.92 digunakan dalam lebih daripada 70% hos.

versi
Bilangan Pelayan
Peratus

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

Versi lain
25568
5.04%

Statistik syarikat E-Soft Inc

Jika anda menggunakan enjin carian Shodan, kemudian daripada 5,250,000 dalam pangkalan data pelayan:

  • kira-kira 3,500,000 menggunakan Exim 4.92 (kira-kira 1,380,000 menggunakan SSL/TLS);
  • lebih 74,000 menggunakan 4.92.1 (kira-kira 25,000 menggunakan SSL/TLS).

Oleh itu, jumlah pelayan Exim yang berpotensi terdedah dan boleh diakses secara umum 1.5M.

Ditambal Exim - tampal lagi. Perlaksanaan Perintah Jauh Baru dalam Exim 4.92 dalam satu permintaan

Cari pelayan Exim di Shodan

perlindungan

  • Pilihan yang paling mudah, tetapi tidak disyorkan, adalah untuk tidak menggunakan TLS, yang akan menyebabkan mesej e-mel dimajukan dalam jelas.
  • Untuk mengelakkan eksploitasi kelemahan, adalah lebih baik untuk mengemas kini kepada versi Exim Internet Mailer 4.92.2.
  • Jika mustahil untuk mengemas kini atau memasang versi yang ditambal, anda boleh menetapkan ACL dalam konfigurasi Exim untuk pilihan acl_smtp_mail dengan peraturan 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}}}}

Sumber: www.habr.com

Tambah komen