Actualizare Exim 4.94.2 cu remedieri pentru 10 vulnerabilități exploatabile de la distanță

Lansarea serverului de e-mail Exim 4.94.2 a fost publicată cu eliminarea a 21 de vulnerabilități (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), care au fost identificate de Qualys și prezentate sub numele de cod. 21 Unghii. 10 probleme pot fi exploatate de la distanță (inclusiv executarea codului cu drepturi root) prin manipularea comenzilor SMTP la interacțiunea cu serverul.

Toate versiunile de Exim, al căror istoric a fost urmărit în Git din 2004, sunt afectate de problemă. Au fost pregătite prototipuri funcționale de exploit-uri pentru 4 vulnerabilități locale și 3 probleme la distanță. Exploit-urile pentru vulnerabilități locale (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) vă permit să vă ridicați privilegiile la utilizatorul root. Două probleme la distanță (CVE-2020-28020, CVE-2020-28018) permit executarea codului fără autentificare ca utilizator Exim (puteți obține apoi acces root prin exploatarea uneia dintre vulnerabilitățile locale).

Vulnerabilitatea CVE-2020-28021 permite executarea imediată a codului de la distanță cu drepturi root, dar necesită acces autentificat (utilizatorul trebuie să stabilească o sesiune autentificată, după care poate exploata vulnerabilitatea prin manipularea parametrului AUTH din comanda MAIL FROM). Problema este cauzată de faptul că un atacator poate realiza înlocuirea șirurilor în antetul unui fișier spool prin scrierea valorii authenticated_sender fără a scăpa în mod corespunzător caracterele speciale (de exemplu, prin transmiterea comenzii „MAIL FROM:<> AUTH=Raven+0AReyes ”).

În plus, se observă că o altă vulnerabilitate la distanță, CVE-2020-28017, este exploatabilă pentru a executa cod cu drepturi de utilizator „exim” fără autentificare, dar necesită mai mult de 25 GB de memorie. Pentru celelalte 13 vulnerabilități, ar putea fi pregătite și exploatări, dar lucrările în această direcție nu au fost încă efectuate.

Dezvoltatorii Exim au fost anunțați cu privire la probleme în octombrie anul trecut și au petrecut mai mult de 6 luni să dezvolte remedieri. Tuturor administratorilor li se recomandă să actualizeze urgent Exim pe serverele lor de e-mail la versiunea 4.94.2. Toate versiunile Exim anterioare lansării 4.94.2 au fost declarate învechite. Publicarea noii versiuni a fost coordonată cu distribuții care au publicat simultan actualizări de pachete: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE și Fedora. RHEL și CentOS nu sunt afectate de problemă, deoarece Exim nu este inclus în depozitul lor standard de pachete (EPEL nu are încă o actualizare).

Vulnerabilități eliminate:

  • CVE-2020-28017: Integer overflow în funcția receive_add_recipient();
  • CVE-2020-28020: Integer overflow în funcția receive_msg();
  • CVE-2020-28023: Citire în afara limitelor în smtp_setup_msg();
  • CVE-2020-28021: înlocuire Newline în antetul fișierului spool;
  • CVE-2020-28022: Scrieți și citiți într-o zonă din afara bufferului alocat în funcția extract_option();
  • CVE-2020-28026: trunchierea și înlocuirea șirurilor în spool_read_header();
  • CVE-2020-28019: Blocare la resetarea unui indicator de funcție după ce apare o eroare BDAT;
  • CVE-2020-28024: Buffer underflow în funcția smtp_ungetc();
  • CVE-2020-28018: Acces gratuit la buffer după utilizare în tls-openssl.c
  • CVE-2020-28025: O citire în afara limitelor în funcția pdkim_finish_bodyhash().

Vulnerabilitati locale:

  • CVE-2020-28007: Atacul de legături simbolice în directorul de jurnal Exim;
  • CVE-2020-28008: atacuri de director spool;
  • CVE-2020-28014: Creare dosar arbitrar;
  • CVE-2021-27216: Ștergere arbitrară a fișierului;
  • CVE-2020-28011: Buffer overflow în queue_run();
  • CVE-2020-28010: Scrieți în afara limitelor în main();
  • CVE-2020-28013: Buffer overflow în funcția parse_fix_phrase();
  • CVE-2020-28016: Scrieți în afara limitelor în parse_fix_phrase();
  • CVE-2020-28015: înlocuire Newline în antetul fișierului spool;
  • CVE-2020-28012: Lipsește indicatorul close-on-exec pentru o conductă privilegiată fără nume;
  • CVE-2020-28009: Integer overflow în funcția get_stdinput().



Sursa: opennet.ru

Adauga un comentariu