Exim patchato: patch di nuovo. Nuova esecuzione di comandi remoti in Exim 4.92 in una sola richiesta

Exim patchato: patch di nuovo. Nuova esecuzione di comandi remoti in Exim 4.92 in una sola richiesta

Più recentemente, all'inizio dell'estate, ci sono state richieste diffuse per l'aggiornamento di Exim alla versione 4.92 a causa della vulnerabilità CVE-2019-10149 (Aggiorna urgentemente Exim alla 4.92: è presente un'infezione attiva / Sudo Null IT News). E recentemente si è scoperto che il malware Sustes ha deciso di sfruttare questa vulnerabilità.

Ora tutti coloro che hanno effettuato un aggiornamento urgente possono “rallegrarsi” di nuovo: il 21 luglio 2019, il ricercatore Zerons ha scoperto una vulnerabilità critica in Exim Mail Transfer Agent (MTA) quando si utilizza TLS per le versioni da 4.80 a 4.92.1 compreso, consentendo il remoto eseguire codice con diritti privilegiati (CVE-2019-15846).

vulnerabilità

La vulnerabilità è presente quando si utilizzano entrambe le librerie GnuTLS e OpenSSL quando si stabilisce una connessione TLS sicura.

Secondo lo sviluppatore Heiko Schlittermann, il file di configurazione in Exim non utilizza TLS per impostazione predefinita, ma molte distribuzioni creano i certificati necessari durante l'installazione e consentono una connessione sicura. Anche le versioni più recenti di Exim installano l'opzione tls_advertise_hosts=* e generare i certificati necessari.

dipende dalla configurazione. La maggior parte delle distribuzioni lo abilitano per impostazione predefinita, ma Exim necessita di un certificato+chiave per funzionare come server TLS. Probabilmente le distribuzioni creano un certificato durante l'installazione. Gli Exim più recenti hanno l'opzione tls_advertise_hosts predefinita su "*" e creano un certificato autofirmato, se non ne viene fornito nessuno.

La vulnerabilità stessa risiede nell'elaborazione errata di SNI (Server Name Indication, una tecnologia introdotta nel 2003 in RFC 3546 affinché un client richieda il certificato corretto per un nome di dominio, Distribuzione dello standard TLS SNI / WEBO Group Blog / Sudo Null IT News) durante un handshake TLS. Un utente malintenzionato deve semplicemente inviare un SNI che termina con una barra rovesciata ("") e un carattere nullo (" ").

I ricercatori di Qualys hanno scoperto un bug nella funzione string_printing(tls_in.sni), che comporta l'escape errato di “”. Di conseguenza, la barra rovesciata viene scritta senza caratteri di escape nel file di intestazione dello spool di stampa. Questo file viene quindi letto con diritti privilegiati dalla funzione spool_read_header(), che porta all'overflow dell'heap.

Vale la pena notare che al momento gli sviluppatori Exim hanno creato un PoC di vulnerabilità con l'esecuzione di comandi su un server vulnerabile remoto, ma non è ancora disponibile al pubblico. Data la facilità di sfruttamento del bug, è solo questione di tempo, e piuttosto breve.

È possibile trovare uno studio più dettagliato di Qualys qui.

Exim patchato: patch di nuovo. Nuova esecuzione di comandi remoti in Exim 4.92 in una sola richiesta

Utilizzo di SNI in TLS

Numero di server pubblici potenzialmente vulnerabili

Secondo le statistiche di un grande provider di hosting E-Soft Inc dal 1° settembre, sui server noleggiati, la versione 4.92 è utilizzata in più del 70% degli host.

Versione
Numero di server
Per cento

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

Altre versioni
25568
5.04%

Statistiche aziendali di E-Soft Inc

Se usi un motore di ricerca Shodan, quindi su 5,250,000 nel database del server:

  • circa 3,500,000 utilizzano Exim 4.92 (circa 1,380,000 utilizzano SSL/TLS);
  • oltre 74,000 utilizzano 4.92.1 (circa 25,000 utilizzano SSL/TLS).

Pertanto, i server Exim potenzialmente vulnerabili pubblicamente conosciuti e accessibili sono circa 1.5 млн.

Exim patchato: patch di nuovo. Nuova esecuzione di comandi remoti in Exim 4.92 in una sola richiesta

Cerca i server Exim a Shodan

protezione

  • L'opzione più semplice, ma sconsigliata, è non utilizzare TLS, il che comporterà l'inoltro dei messaggi di posta elettronica in chiaro.
  • Per evitare lo sfruttamento della vulnerabilità, sarebbe preferibile aggiornare alla versione Exim Internet Mailer 4.92.2.
  • Se è impossibile aggiornare o installare una versione con patch, è possibile impostare un ACL nella configurazione Exim per l'opzione acl_smtp_mail con le seguenti regole:
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

Fonte: habr.com

Aggiungi un commento