Exim 4.94.2 yangilanishi 10 ta masofadan foydalaniladigan zaifliklar uchun tuzatishlar bilan

Exim 4.94.2 pochta serverining chiqarilishi Qualys tomonidan aniqlangan va kod nomi ostida taqdim etilgan 21 ta zaiflikni (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216) bartaraf etish bilan chop etildi. 21 Tirnoqlar. Server bilan ishlashda SMTP buyruqlarini manipulyatsiya qilish orqali 10 ta muammolarni masofadan turib (jumladan, ildiz huquqlari bilan kodni bajarish) foydalanish mumkin.

2004-yildan beri Git-da tarixi kuzatilgan Exim-ning barcha versiyalari muammoga ta'sir qiladi. 4 ta mahalliy zaiflik va 3 ta masofaviy muammo uchun ekspluatatsiyalarning ishchi prototiplari tayyorlangan. Mahalliy zaifliklar uchun ekspluatatsiyalar (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) ildiz foydalanuvchisiga imtiyozlaringizni oshirish imkonini beradi. Ikki masofaviy muammo (CVE-2020-28020, CVE-2020-28018) kodni Exim foydalanuvchisi sifatida autentifikatsiya qilinmasdan bajarishga imkon beradi (keyin mahalliy zaifliklardan birini ishlatish orqali ildizga kirish huquqiga ega bo'lishingiz mumkin).

CVE-2020-28021 zaifligi ildiz huquqlari bilan zudlik bilan masofaviy kodni bajarishga imkon beradi, lekin autentifikatsiya qilingan kirishni talab qiladi (foydalanuvchi autentifikatsiya qilingan sessiyani o'rnatishi kerak, shundan so'ng ular MAIL FROM buyrug'idagi AUTH parametrini manipulyatsiya qilish orqali zaiflikdan foydalanishlari mumkin). Muammo tajovuzkor spool fayli sarlavhasida authenticated_sender qiymatini yozish orqali maxsus belgilardan to‘g‘ri chiqmasdan (masalan, “MAIL FROM:<> AUTH=Raven+0AReyes” buyrug‘ini o‘tkazish orqali) satrlarni almashtirishga erishishi bilan bog‘liq. ”).

Bundan tashqari, yana bir masofaviy zaiflik CVE-2020-28017 autentifikatsiya qilinmasdan “exim” foydalanuvchi huquqlariga ega kodni bajarish uchun ishlatilishi mumkin, lekin 25 Gb dan ortiq xotirani talab qiladi. Qolgan 13 ta zaiflik uchun ekspluatatsiyalar ham tayyorlanishi mumkin, ammo bu yo'nalishdagi ishlar hali amalga oshirilmagan.

Exim ishlab chiquvchilari muammolar haqida o'tgan yilning oktyabr oyida xabardor qilingan va ularni tuzatish uchun 6 oydan ko'proq vaqt sarflagan. Barcha ma'murlarga o'z pochta serverlarida Exim-ni zudlik bilan 4.94.2 versiyasiga yangilash tavsiya etiladi. 4.94.2 chiqarilishidan oldin Eximning barcha versiyalari eskirgan deb e'lon qilingan. Yangi versiyani nashr qilish bir vaqtning o'zida paket yangilanishlarini nashr etuvchi tarqatishlar bilan muvofiqlashtirildi: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE va Fedora. RHEL va CentOS-ga muammo ta'sir qilmaydi, chunki Exim ularning standart paketlar omboriga kiritilmagan (EPEL hali yangilanmagan).

O'chirilgan zaifliklar:

  • CVE-2020-28017: receive_add_recipient() funksiyasida butun sonlar to‘ldiriladi;
  • CVE-2020-28020: receive_msg() funksiyasida butun sonlar to‘planishi;
  • CVE-2020-28023: smtp_setup_msg() da o'qilgan chegaradan tashqarida;
  • CVE-2020-28021: spool fayl sarlavhasida yangi qatorni almashtirish;
  • CVE-2020-28022: extract_option() funksiyasidagi ajratilgan buferdan tashqari hududda yozish va o‘qish;
  • CVE-2020-28026: satrni kesish va spool_read_header();
  • CVE-2020-28019: BDAT xatosi yuzaga kelgandan so'ng funktsiya ko'rsatkichini qayta o'rnatishda nosozlik;
  • CVE-2020-28024: smtp_ungetc() funksiyasida buferning kamligi;
  • CVE-2020-28018: tls-openssl.c da buferdan keyin bepul foydalanish
  • CVE-2020-28025: pdkim_finish_bodyhash() funksiyasida o‘qilgan chegaradan tashqari.

Mahalliy zaifliklar:

  • CVE-2020-28007: Exim jurnali katalogidagi ramziy havola hujumi;
  • CVE-2020-28008: Spool katalog hujumlari;
  • CVE-2020-28014: O'zboshimchalik bilan fayl yaratish;
  • CVE-2021-27216: faylni o'zboshimchalik bilan o'chirish;
  • CVE-2020-28011: bufer queue_run();
  • CVE-2020-28010: Chegaradan tashqarida yozish main();
  • CVE-2020-28013: parse_fix_phrase();
  • CVE-2020-28016: chegaradan tashqarida parse_fix_phrase();
  • CVE-2020-28015: spool fayl sarlavhasida yangi qatorni almashtirish;
  • CVE-2020-28012: Imtiyozli nomsiz trubka uchun ijro belgisi yo‘q;
  • CVE-2020-28009: get_stdinput() funksiyasida butun sonlar to‘ldiriladi.



Manba: opennet.ru

a Izoh qo'shish