Exim 4.94.2-update met oplossingen voor 10 op afstand exploiteerbare kwetsbaarheden

De release van de Exim 4.94.2 mailserver is gepubliceerd met de eliminatie van 21 kwetsbaarheden (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), die door Qualys zijn geïdentificeerd en gepresenteerd onder de codenaam 21Nagels. Tien problemen kunnen op afstand worden uitgebuit (inclusief het uitvoeren van code met rootrechten) door manipulatie van SMTP-opdrachten tijdens interactie met de server.

Alle versies van Exim, waarvan de geschiedenis sinds 2004 in Git wordt bijgehouden, hebben last van dit probleem. Er zijn werkende prototypes van exploits voorbereid voor vier lokale kwetsbaarheden en drie problemen op afstand. Exploits voor lokale kwetsbaarheden (CVE-4-3, CVE-2020-28007, CVE-2020-28008, CVE-2020-28015) stellen u in staat uw rechten naar de rootgebruiker te verhogen. Twee problemen op afstand (CVE-2020-28012, CVE-2020-28020) zorgen ervoor dat code kan worden uitgevoerd zonder authenticatie als Exim-gebruiker (u kunt vervolgens root-toegang krijgen door misbruik te maken van een van de lokale kwetsbaarheden).

De CVE-2020-28021-kwetsbaarheid maakt onmiddellijke uitvoering van code op afstand mogelijk met rootrechten, maar vereist geverifieerde toegang (de gebruiker moet een geverifieerde sessie opzetten, waarna hij/zij de kwetsbaarheid kan misbruiken door manipulatie van de AUTH-parameter in de MAIL FROM-opdracht). Het probleem wordt veroorzaakt door het feit dat een aanvaller tekenreeksvervanging in de header van een spoolbestand kan bewerkstelligen door de waarde authenticated_sender te schrijven zonder speciale tekens op de juiste manier te laten ontsnappen (bijvoorbeeld door het commando “MAIL FROM:<> AUTH=Raven+0AReyes) door te geven ”).

Bovendien wordt opgemerkt dat een andere kwetsbaarheid op afstand, CVE-2020-28017, kan worden misbruikt om code met “exim”-gebruikersrechten uit te voeren zonder authenticatie, maar dat dit meer dan 25 GB geheugen vereist. Voor de resterende dertien kwetsbaarheden zouden mogelijk ook exploits kunnen worden voorbereid, maar er is nog geen werk in deze richting uitgevoerd.

De Exim-ontwikkelaars werden in oktober vorig jaar op de hoogte gebracht van de problemen en hebben meer dan zes maanden besteed aan het ontwikkelen van oplossingen. Alle beheerders wordt aangeraden Exim op hun mailservers dringend te updaten naar versie 6. Alle versies van Exim vóór release 4.94.2 zijn verouderd verklaard. De publicatie van de nieuwe versie werd gecoördineerd met distributies die tegelijkertijd pakketupdates publiceerden: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE en Fedora. RHEL en CentOS hebben geen last van het probleem, aangezien Exim niet is opgenomen in hun standaard pakketrepository (EPEL heeft nog geen update).

Kwetsbaarheden verwijderd:

  • CVE-2020-28017: Overloop van gehele getallen in de functie receiver_add_recipient();
  • CVE-2020-28020: Overflow van gehele getallen in de functie receiver_msg();
  • CVE-2020-28023: Buiten bereik gelezen in smtp_setup_msg();
  • CVE-2020-28021: Vervanging van nieuwe regels in de header van het spoolbestand;
  • CVE-2020-28022: Schrijf en lees in een gebied buiten de toegewezen buffer in de functie extract_option();
  • CVE-2020-28026: Afkapping en vervanging van tekenreeksen in spool_read_header();
  • CVE-2020-28019: Crash bij het resetten van een functieaanwijzer nadat een BDAT-fout is opgetreden;
  • CVE-2020-28024: Bufferonderloop in de smtp_ungetc() functie;
  • CVE-2020-28018: Gebruik-na-gratis buffertoegang in tls-openssl.c
  • CVE-2020-28025: Een leesfout buiten het bereik in de functie pdkim_finish_bodyhash().

Lokale kwetsbaarheden:

  • CVE-2020-28007: Symbolische linkaanval in de Exim-logboekmap;
  • CVE-2020-28008: Spool-directory-aanvallen;
  • CVE-2020-28014: Willekeurige bestandscreatie;
  • CVE-2021-27216: Willekeurige verwijdering van bestanden;
  • CVE-2020-28011: Bufferoverloop in wachtrij_run();
  • CVE-2020-28010: Schrijven buiten het bereik in main();
  • CVE-2020-28013: Bufferoverloop in functie parse_fix_phrase();
  • CVE-2020-28016: Schrijven buiten het bereik in parse_fix_phrase();
  • CVE-2020-28015: Vervanging van nieuwe regels in de header van het spoolbestand;
  • CVE-2020-28012: Ontbrekende close-on-exec-vlag voor een bevoorrechte naamloze pipe;
  • CVE-2020-28009: Overloop van gehele getallen in de functie get_stdinput().



Bron: opennet.ru

Voeg een reactie