Update Exim 4.94.2 met oplossing voor 10 op afstand exploiteerbare kwetsbaarheden

De release van de mailserver Exim 4.94.2 is gepubliceerd met de oplossing van 21 kwetsbaarheden (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), die zijn ontdekt door het bedrijf Qualys en gepresenteerd onder de codenaam 21Nails. 10 problemen kunnen op afstand worden misbruikt (waaronder het uitvoeren van code met root-rechten) door het manipuleren van SMTP-commando's tijdens interactie met de server.

Alle versies van Exim zijn kwetsbaar, met een geschiedenis die sinds 2004 in Git wordt bijgehouden. Voor 4 lokale kwetsbaarheden en 3 externe problemen zijn werkende exploitprototypes voorbereid. Exploits voor lokale kwetsbaarheden (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) stellen een aanvaller in staat zijn privileges te verhogen naar die van de root-gebruiker. Twee externe problemen (CVE-2020-28020, CVE-2020-28018) maken het mogelijk om zonder authenticatie code uit te voeren met de rechten van de exim-gebruiker (waarbij vervolgens toegang tot root kan worden verkregen door een van de lokale kwetsbaarheden te misbruiken).

Kwetsbaarheid CVE-2020-28021 maakt het mogelijk om onmiddellijk op afstand code uit te voeren met root-rechten, maar vereist geauthenticeerde toegang (de gebruiker moet een geauthenticeerde sessie opzetten, waarna hij de kwetsbaarheid kan exploiteren door de AUTH-parameter in de MAIL FROM-commando te manipuleren). Het probleem wordt veroorzaakt doordat een aanvaller kan zorgen voor het vervangen van een regel in de koptekst van het spool-bestand door de waarde authenticated_sender zonder de juiste escaping van speciale symbolen op te slaan (bijvoorbeeld door het commando "MAIL FROM:& AUTH=Raven+0AReyes" door te geven).

Daarnaast wordt opgemerkt dat er nog een andere externe kwetsbaarheid CVE-2020-28017 bestaan die kan worden geëxploiteerd om code uit te voeren met de rechten van de gebruiker "exim" zonder authenticatie, maar waarvoor meer dan 25 GB geheugen vereist is. Voor de overige 13 kwetsbaarheden kunnen mogelijk ook exploits worden voorbereid, maar daar is tot nu toe nog niet aan gewerkt.

De ontwikkelaars van Exim zijn in oktober vorig jaar al geïnformeerd over de problemen en hebben meer dan 6 maanden besteed aan het ontwikkelen van oplossingen. Alle beheerders wordt dringend aanbevolen om Exim op hun mailservers bij te werken. servers tot versie 4.94.2. Alle versies van Exim tot en met 4.94.2 zijn als verouderd (obsolete) 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 zijn niet getroffen, aangezien Exim niet in hun standaard pakketrepository is opgenomen (in EPEL is de update nog niet beschikbaar).

Afstands kwetsbaarheden:

  • CVE-2020-28017: Gehele getal overflow in de functie receive_add_recipient();
  • CVE-2020-28020: Gehele getal overflow in de functie receive_msg();
  • CVE-2020-28023: Lezen van buiten het toegewezen buffer in de functie smtp_setup_msg();
  • CVE-2020-28021: Invoegen van een nieuwe regel in de header van de spool-bestand;
  • CVE-2020-28022: Schrijven en lezen buiten het toegewezen buffer in de functie extract_option();
  • CVE-2020-28026: Afgeknot en invoegen van een tekenreeks in de functie spool_read_header();
  • CVE-2020-28019: Fout bij het resetten van de functie-pointer na het optreden van een BDAT-fout;
  • CVE-2020-28024: Overflows via de ondergrens van de buffer in de functie smtp_ungetc();
  • CVE-2020-28018: Toegang tot de buffer na vrijgave (use-after-free) in tls-openssl.c
  • CVE-2020-28025: Lezen van buiten het toegewezen buffer in de functie pdkim_finish_bodyhash().

Lokale kwetsbaarheden:

  • CVE-2020-28007: Aanval via symbolische link in de directory met Exim-logboeken;
  • CVE-2020-28008: Aanvallen op de spool-directory;
  • CVE-2020-28014: Aanmaken van een willekeurig bestand;
  • CVE-2021-27216: Verwijderen van een willekeurig bestand;
  • CVE-2020-28011: Buffer overflow in de functie queue_run();
  • CVE-2020-28010: Schrijven buiten de buffer in de functie main();
  • CVE-2020-28013: Buffer overflow in de functie parse_fix_phrase();
  • CVE-2020-28016: Schrijven buiten de buffer in de functie parse_fix_phrase();
  • CVE-2020-28015: Invoegen van een nieuwe regel in de header van de spool-bestand;
  • CVE-2020-28012: Ontbreken van de close-on-exec-vlag voor het priviligeper naamloze kanaal;
  • CVE-2020-28009: Gehele getal overflow in de functie get_stdinput().



Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster