Exim Yamalı - tekrar yama yapın. Tek istekte Exim 4.92'de Yeni Uzaktan Komut Yürütme

Exim Yamalı - tekrar yama yapın. Tek istekte Exim 4.92'de Yeni Uzaktan Komut Yürütme

Daha yakın zamanlarda, yaz başında, CVE-4.92-2019 güvenlik açığı nedeniyle Exim'in 10149 sürümüne güncellenmesi yönünde yaygın çağrılar yapıldı (Exim'i acilen 4.92'ye güncelleyin - aktif bir enfeksiyon var / Sudo Null IT News). Ve yakın zamanda Sustes kötü amaçlı yazılımının bu güvenlik açığından yararlanmaya karar verdiği ortaya çıktı.

Artık acilen güncelleme yapan herkes yeniden "sevinebilir": 21 Temmuz 2019'da araştırmacı Zerons, güvenlik açığında kritik bir güvenlik açığı keşfetti. TLS kullanırken Exim Mail Transfer aracısı (MTA) sürümleri için 4.80 için 4.92.1 dahil, uzaktan kumandaya izin veriyor ayrıcalıklı haklara sahip kod yürütme (CVE-2019-15846).

Güvenlik açığı

Güvenlik açığı, güvenli bir TLS bağlantısı kurulurken hem GnuTLS hem de OpenSSL kitaplıkları kullanıldığında ortaya çıkıyor.

Geliştirici Heiko Schlittermann'a göre Exim'deki konfigürasyon dosyası varsayılan olarak TLS kullanmıyor ancak birçok dağıtım kurulum sırasında gerekli sertifikaları oluşturuyor ve güvenli bir bağlantı sağlıyor. Ayrıca Exim'in daha yeni sürümleri bu seçeneği yükler tls_advertise_hosts=* ve gerekli sertifikaları oluşturun.

konfigürasyona bağlıdır. Çoğu dağıtım bunu varsayılan olarak etkinleştirir, ancak Exim'in TLS sunucusu olarak çalışması için bir sertifika+anahtara ihtiyacı vardır. Muhtemelen Distros kurulum sırasında bir Sertifika oluşturur. Daha yeni Exim'lerde tls_advertise_hosts seçeneği varsayılan olarak "*" olarak ayarlanır ve eğer sağlanmadıysa kendinden imzalı bir sertifika oluşturur.

Güvenlik açığının kendisi SNI'nin (Sunucu Adı Göstergesi) hatalı işlenmesinden kaynaklanmaktadır; bu, bir istemcinin bir alan adı için doğru sertifikayı istemesini sağlayan RFC 2003'da 3546 yılında tanıtılan bir teknolojidir. TLS SNI standardının dağıtımı / WEBO Grup Blogu / Sudo Null IT News) TLS anlaşması sırasında. Saldırganın yalnızca ters eğik çizgi ("") ve boş karakter (" ") ile biten bir SNI göndermesi yeterlidir.

Qualys araştırmacıları string_printing(tls_in.sni) işlevinde "" karakterinin hatalı şekilde kaçmasını içeren bir hata keşfettiler. Sonuç olarak, ters eğik çizgi, yazdırma makarası başlık dosyasına çıkış yapılmadan yazılır. Bu dosya daha sonra spool_read_header() işlevi tarafından ayrıcalıklı haklarla okunur ve bu da yığın taşmasına yol açar.

Şu anda Exim geliştiricilerinin uzaktaki savunmasız bir sunucuda komutların yürütülmesiyle bir güvenlik açığı PoC'si oluşturduklarını, ancak bunun henüz kamuya açık olmadığını belirtmekte fayda var. Hatadan yararlanma kolaylığı nedeniyle bu sadece bir zaman meselesidir ve oldukça kısadır.

Qualys'in daha ayrıntılı bir çalışmasını burada bulabilirsiniz burada.

Exim Yamalı - tekrar yama yapın. Tek istekte Exim 4.92'de Yeni Uzaktan Komut Yürütme

TLS'de SNI kullanma

Potansiyel olarak güvenlik açığı bulunan genel sunucuların sayısı

Büyük bir barındırma sağlayıcısının istatistiklerine göre E-Soft A.Ş. 1 Eylül itibarıyla, kiralanan sunucularda, ana bilgisayarların %4.92'inden fazlasında 70 sürümü kullanılıyor.

Sürümü
Sunucu Sayısı
Yüzde

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

Diğer sürümler
25568
%5.04

E-Soft Inc şirket istatistikleri

Bir arama motoru kullanıyorsanız Shodan, ardından sunucu veritabanındaki 5,250,000'den:

  • yaklaşık 3,500,000'i Exim 4.92 kullanıyor (yaklaşık 1,380,000'i SSL/TLS kullanıyor);
  • 74,000 kullanarak 4.92.1'in üzerinde (SSL/TLS kullanarak yaklaşık 25,000).

Böylece, kamuya açık olarak bilinen ve erişilebilen Exim'in potansiyel olarak savunmasız sunucularının sayısı 1.5 milyon.

Exim Yamalı - tekrar yama yapın. Tek istekte Exim 4.92'de Yeni Uzaktan Komut Yürütme

Shodan'da Exim sunucularını arayın

koruma

  • En basit ancak tavsiye edilmeyen seçenek TLS kullanmamaktır; bu, e-posta mesajlarının açıkça iletilmesine neden olur.
  • Güvenlik açığından yararlanılmasını önlemek için sürüme güncelleme yapılması daha tercih edilebilir olacaktır. Exim İnternet Posta Göndericisi 4.92.2.
  • Yamalı bir sürümü güncellemek veya yüklemek mümkün değilse, seçenek için Exim yapılandırmasında bir ACL ayarlayabilirsiniz. acl_smtp_mail aşağıdaki kurallarla:
    # 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}}}}

Kaynak: habr.com