Aktualizácia Exim 4.94.2 s opravami 10 vzdialene zneužiteľných zraniteľností

Vydanie poštového servera Exim 4.94.2 bolo zverejnené s odstránením 21 zraniteľností (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), ktoré boli identifikované spoločnosťou Qualys a prezentované pod kódovým označením 21 Nechty. 10 problémov je možné zneužiť na diaľku (vrátane spustenia kódu s právami root) manipuláciou s príkazmi SMTP pri interakcii so serverom.

Problém sa týka všetkých verzií Exim, ktorých história je v Git sledovaná od roku 2004. Boli pripravené funkčné prototypy exploitov pre 4 lokálne zraniteľnosti a 3 vzdialené problémy. Využitie miestnych zraniteľností (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) vám umožňuje povýšiť vaše oprávnenia na používateľa root. Dva vzdialené problémy (CVE-2020-28020, CVE-2020-28018) umožňujú spustenie kódu bez overenia totožnosti používateľa Exim (potom môžete získať prístup root zneužitím jednej z miestnych zraniteľností).

Zraniteľnosť CVE-2020-28021 umožňuje okamžité spustenie kódu na diaľku s právami root, ale vyžaduje overený prístup (používateľ musí vytvoriť overenú reláciu, po ktorej môže zneužiť zraniteľnosť manipuláciou s parametrom AUTH v príkaze MAIL FROM). Problém je spôsobený skutočnosťou, že útočník môže dosiahnuť nahradenie reťazca v hlavičke spoolového súboru zapísaním hodnoty authenticated_sender bez správneho escapovania špeciálnych znakov (napríklad zadaním príkazu “MAIL FROM:<> AUTH=Raven+0AReyes “).

Okrem toho je potrebné poznamenať, že ďalšia vzdialená zraniteľnosť, CVE-2020-28017, je zneužiteľná na spustenie kódu s používateľskými právami „exim“ bez overenia, ale vyžaduje viac ako 25 GB pamäte. Pre zvyšných 13 zraniteľností by sa potenciálne mohli pripraviť aj exploity, ale práca v tomto smere ešte nebola vykonaná.

Vývojári Exim boli upozornení na problémy už v októbri minulého roka a vývojom opráv strávili viac ako 6 mesiacov. Všetkým správcom sa odporúča urýchlene aktualizovať Exim na svojich poštových serveroch na verziu 4.94.2. Všetky verzie Exim pred vydaním 4.94.2 boli vyhlásené za zastarané. Vydanie novej verzie bolo koordinované s distribúciami, ktoré súčasne publikovali aktualizácie balíkov: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE a Fedora. RHEL a CentOS nie sú týmto problémom ovplyvnené, pretože Exim nie je súčasťou ich štandardného úložiska balíkov (EPEL zatiaľ nemá aktualizáciu).

Odstránené zraniteľnosti:

  • CVE-2020-28017: Pretečenie celého čísla vo funkcii recipient_add_recipient();
  • CVE-2020-28020: Pretečenie celého čísla vo funkcii príjem_msg();
  • CVE-2020-28023: Čítanie mimo hraníc v smtp_setup_msg();
  • CVE-2020-28021: Nahradenie nového riadku v hlavičke spoolového súboru;
  • CVE-2020-28022: Zápis a čítanie v oblasti mimo pridelenej vyrovnávacej pamäte vo funkcii extract_option();
  • CVE-2020-28026: Skrátenie a nahradenie reťazca v spool_read_header();
  • CVE-2020-28019: Zlyhanie pri resetovaní ukazovateľa funkcie po výskyte chyby BDAT;
  • CVE-2020-28024: Podtečenie vyrovnávacej pamäte vo funkcii smtp_ungetc();
  • CVE-2020-28018: Využite bezplatný prístup do vyrovnávacej pamäte v tls-openssl.c
  • CVE-2020-28025: Neobmedzené čítanie vo funkcii pdkim_finish_bodyhash().

Miestne zraniteľnosti:

  • CVE-2020-28007: Symbolický útok na odkaz v adresári Exim log;
  • CVE-2020-28008: Útoky na spoolový adresár;
  • CVE-2020-28014: Vytváranie ľubovoľného súboru;
  • CVE-2021-27216: Svojvoľné vymazanie súboru;
  • CVE-2020-28011: Pretečenie vyrovnávacej pamäte vo queue_run();
  • CVE-2020-28010: Zapisovanie mimo hranice v main();
  • CVE-2020-28013: Pretečenie vyrovnávacej pamäte vo funkcii parse_fix_phrase();
  • CVE-2020-28016: Mimo hraníc zapíšte v parse_fix_phrase();
  • CVE-2020-28015: Nahradenie nového riadku v hlavičke spoolového súboru;
  • CVE-2020-28012: Chýba príznak close-on-exec pre privilegovaný nepomenovaný kanál;
  • CVE-2020-28009: Pretečenie celého čísla vo funkcii get_stdinput().



Zdroj: opennet.ru

Pridať komentár