Aggiornamento di Exim 4.94.2 per risolvere 10 vulnerabilità sfruttabili da remoto

Pubblicata la versione del server di posta Exim 4.94.2 che risolve 21 vulnerabilità (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), identificate dalla società Qualys e presentate con il nome in codice 21Nails. 10 di questi problemi possono essere sfruttati da remoto (compresa l'esecuzione di codice con i diritti di root) tramite manipolazioni dei comandi SMTP durante l'interazione con il server.

Tutte le versioni di Exim sono vulnerabili, con una cronologia tracciata in Git dal 2004. Sono stati preparati prototipi funzionanti per 4 vulnerabilità locali e 3 problemi remoti. Gli exploit per le vulnerabilità locali (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) consentono di elevare i privilegi a utente root. Due problemi remoti (CVE-2020-28020, CVE-2020-28018) permettono di eseguire codice senza autenticazione con i diritti dell'utente exim (da qui si può ottenere l'accesso root, sfruttando una delle vulnerabilità locali).

La vulnerabilità CVE-2020-28021 consente l'esecuzione remota di codice con privilegi di root, ma richiede accesso autenticato (l'utente deve stabilire una sessione autenticata, dopo di che può sfruttare la vulnerabilità manipolando il parametro AUTH nel comando MAIL FROM). Il problema è causato dal fatto che l'attaccante può ottenere la sostituzione della stringa nell'intestazione del file spool a causa della registrazione del valore authenticated_sender senza la corretta escape dei caratteri speciali (ad esempio, passando il comando "MAIL FROM:<AUTH=Raven+0AReyes").

Inoltre, si segnala che un'altra vulnerabilità remota CVE-2020-28017 può essere sfruttata per eseguire codice con privilegi dell'utente "exim" senza autenticazione, ma richiede più di 25 GB di memoria. Per altre 13 vulnerabilità, potrebbero anche essere preparati exploit, ma al momento non sono stati svolti lavori in questa direzione.

Gli sviluppatori di Exim sono stati informati dei problemi già nell'ottobre dello scorso anno e hanno impiegato più di 6 mesi per sviluppare le correzioni. A tutti gli amministratori è raccomandato di aggiornare urgentemente Exim sui propri server di posta. server fino alla versione 4.94.2. Tutte le versioni di Exim fino al rilascio 4.94.2 sono state dichiarate obsolete. La pubblicazione della nuova versione è stata coordinata con le distribuzioni che hanno pubblicato aggiornamenti dei pacchetti: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE e Fedora. RHEL e CentOS non sono soggetti a questo problema, poiché Exim non è incluso nel loro repository di pacchetti ufficiale (l'aggiornamento è assente in EPEL per ora).

Vulnerabilità remote:

  • CVE-2020-28017: Overflow intero nella funzione receive_add_recipient();
  • CVE-2020-28020: Overflow intero nella funzione receive_msg();
  • CVE-2020-28023: Lettura da un'area al di fuori del buffer allocato nella funzione smtp_setup_msg();
  • CVE-2020-28021: Sostituzione della nuova linea nell'intestazione del file spool;
  • CVE-2020-28022: Scrittura e lettura in un'area al di fuori del buffer allocato nella funzione extract_option();
  • CVE-2020-28026: Troncamento e sostituzione della stringa nella funzione spool_read_header();
  • CVE-2020-28019: Crash durante il ripristino del puntatore alla funzione dopo un errore BDAT;
  • CVE-2020-28024: Overflow attraverso il limite inferiore del buffer nella funzione smtp_ungetc();
  • CVE-2020-28018: Accesso al buffer dopo che è stato liberato (use-after-free) in tls-openssl.c
  • CVE-2020-28025: Lettura da un'area al di fuori del buffer allocato nella funzione pdkim_finish_bodyhash().

Vulnerabilità locali:

  • CVE-2020-28007: Attacco via link simbolico nella directory del log di Exim;
  • CVE-2020-28008: Attacchi alla directory dello spool;
  • CVE-2020-28014: Creazione di un file arbitrario;
  • CVE-2021-27216: Eliminazione di un file arbitrario;
  • CVE-2020-28011: Overflow del buffer nella funzione queue_run();
  • CVE-2020-28010: Scrittura oltre il buffer nella funzione main();
  • CVE-2020-28013: Overflow del buffer nella funzione parse_fix_phrase();
  • CVE-2020-28016: Scrittura oltre il buffer nella funzione parse_fix_phrase();
  • CVE-2020-28015: Sostituzione di una nuova riga nell'intestazione del file di spool;
  • CVE-2020-28012: Mancanza del flag close-on-exec per il canale anonimo privilegiato;
  • CVE-2020-28009: Overflow di interi nella funzione get_stdinput().



Fonte: opennet.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster