Uzaktan yararlanılabilen 4.94.2 güvenlik açığına yönelik düzeltmeleri içeren Exim 10 güncellemesi

Exim 4.94.2 posta sunucusu sürümü, Qualys tarafından tespit edilen ve kod adı altında sunulan 21 güvenlik açığının (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216) giderilmesiyle yayımlandı. 21Çiviler. Sunucuyla etkileşim sırasında SMTP komutlarının manipülasyonu yoluyla 10 sorundan uzaktan (kök haklarıyla kod çalıştırmak dahil) yararlanılabilir.

2004 yılından bu yana Git'te geçmişi takip edilen Exim'in tüm sürümleri sorundan etkileniyor. 4 yerel zafiyet ve 3 uzak soruna yönelik istismarların çalışma prototipleri hazırlandı. Yerel güvenlik açıklarına yönelik saldırılar (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012), ayrıcalıklarınızı kök kullanıcıya yükseltmenize olanak tanır. İki uzak sorun (CVE-2020-28020, CVE-2020-28018), kodun Exim kullanıcısı olarak kimlik doğrulaması olmadan yürütülmesine izin verir (daha sonra yerel güvenlik açıklarından birinden yararlanarak kök erişimi elde edebilirsiniz).

CVE-2020-28021 güvenlik açığı, kök haklarıyla anında uzaktan kod yürütülmesine izin verir, ancak kimliği doğrulanmış erişim gerektirir (kullanıcının kimliği doğrulanmış bir oturum oluşturması gerekir; bunun ardından, MAIL FROM komutundaki AUTH parametresini değiştirerek bu güvenlik açığından yararlanabilir). Sorun, bir saldırganın, özel karakterlerden düzgün bir şekilde kaçmadan (örneğin, “MAIL FROM:<> AUTH=Raven+0AReyes komutunu ileterek) Authenticated_sender değerini yazarak bir biriktirme dosyasının başlığında dize değişimi gerçekleştirebilmesinden kaynaklanmaktadır. ”).

Ek olarak, başka bir uzaktan güvenlik açığı olan CVE-2020-28017'nin, kimlik doğrulaması olmadan "exim" kullanıcı haklarına sahip kod yürütmek için kullanılabileceği, ancak 25 GB'tan fazla bellek gerektirdiği belirtiliyor. Geriye kalan 13 zafiyet için de suistimaller hazırlanabilir ancak henüz bu yönde bir çalışma yapılmadı.

Exim geliştiricileri sorunlardan geçen yılın Ekim ayında haberdar edildi ve düzeltmeler geliştirmek için 6 aydan fazla zaman harcadı. Tüm yöneticilerin, posta sunucularındaki Exim'i acilen 4.94.2 sürümüne güncellemesi önerilir. Exim'in 4.94.2 sürümünden önceki tüm sürümlerinin eski olduğu bildirildi. Yeni sürümün yayınlanması, paket güncellemelerini aynı anda yayınlayan dağıtımlarla koordine edildi: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE ve Fedora. RHEL ve CentOS, Exim'in standart paket deposunda yer almaması nedeniyle sorundan etkilenmemektedir (EPEL'in henüz bir güncellemesi yoktur).

Kaldırılan güvenlik açıkları:

  • CVE-2020-28017: get_add_recipient() işlevinde tamsayı taşması;
  • CVE-2020-28020: get_msg() işlevinde tamsayı taşması;
  • CVE-2020-28023: smtp_setup_msg()'de sınırların dışında okuma;
  • CVE-2020-28021: Biriktirme dosyası başlığında yeni satır değişikliği;
  • CVE-2020-28022: extract_option() işlevinde tahsis edilen arabelleğin dışındaki bir alana yazma ve okuma;
  • CVE-2020-28026: spool_read_header() işlevinde dizenin kesilmesi ve değiştirilmesi;
  • CVE-2020-28019: BDAT hatası oluştuktan sonra işlev işaretçisi sıfırlanırken kilitlenme;
  • CVE-2020-28024: smtp_ungetc() işlevinde ara bellek yetersiz akışı;
  • CVE-2020-28018: tls-openssl.c'de boş ara bellek erişiminden sonra kullanın
  • CVE-2020-28025: pdkim_finish_bodyhash() işlevinde sınırların dışında bir okuma.

Yerel güvenlik açıkları:

  • CVE-2020-28007: Exim günlük dizininde sembolik bağlantı saldırısı;
  • CVE-2020-28008: Dizin saldırılarını biriktirme;
  • CVE-2020-28014: Rasgele dosya oluşturma;
  • CVE-2021-27216: Rastgele dosya silme;
  • CVE-2020-28011: kuyruk_run()'da arabellek taşması;
  • CVE-2020-28010: main()'da sınırların dışında yazma;
  • CVE-2020-28013: parse_fix_phrase() işlevinde arabellek taşması;
  • CVE-2020-28016: parse_fix_phrase() işlevinde sınır dışı yazma;
  • CVE-2020-28015: Biriktirme dosyası başlığında yeni satır değişikliği;
  • CVE-2020-28012: Ayrıcalıklı, adsız bir kanal için yakın yürütme bayrağı eksik;
  • CVE-2020-28009: get_stdinput() işlevinde tamsayı taşması.



Kaynak: opennet.ru

Yorum ekle