Patchato Exim — patchalo ancora una volta. Nuova Remote Command Execution in Exim 4.92 con una singola richiesta

Patchato Exim — patchalo ancora una volta. Nuova Remote Command Execution in Exim 4.92 con una singola richiesta

Recentemente, all'inizio dell'estate, sono emersi molti appelli per l'aggiornamento di Exim alla versione 4.92 a causa della vulnerabilità CVE-2019-10149 (Aggiornate urgentemente exim alla 4.92 — è in corso un'infezione attiva / Habr). E nei giorni scorsi è emerso che il malware Sustes ha deciso di sfruttare questa vulnerabilità.

Ora tutti coloro che si sono aggiornati in fretta possono di nuovo "gioire": il 21 luglio 2019 il ricercatore Zerons ha scoperto una vulnerabilità critica in Exim Mail Transfer agent (MTA) quando utilizza TLS per le versioni da 4.80 a 4.92.1 inclusa, che consente l'esecuzione remota di codice con privilegi elevati (CVE-2019-15846).

Vulnerabilità

La vulnerabilità è presente quando si utilizzano librerie sia GnuTLS che OpenSSL durante l'installazione di una connessione TLS sicura.

Secondo lo sviluppatore Heiko Schlittermann, il file di configurazione in Exim per impostazione predefinita non utilizza TLS, tuttavia molte distribuzioni durante l'installazione creano i certificati necessari e abilitano la connessione protetta. Inoltre, le versioni più recenti di Exim impostano l'opzione tls_advertise_hosts=* e generano i certificati necessari.

dipende dalla configurazione. La maggior parte delle distribuzioni la abilitano per impostazione predefinita, ma Exim ha bisogno di un certificato+chiave per funzionare come server TLS. Probabilmente le distribuzioni creano un certificato durante l'installazione. Le versioni più recenti di Exim hanno l'opzione tls_advertise_hosts impostata su «*» e creano un certificato autofirmato, se nessuno viene fornito.

La vulnerabilità stessa risiede nella gestione scorretta di SNI (Server Name Indication, tecnologia introdotta nel 2003 nel RFC 3546 per richiedere al cliente il certificato corretto per il nome di dominio, Diffusione dello standard TLS SNI / Blog dell'azienda WEBO Group / Habr) durante il handshake TLS. È sufficiente per un aggressore inviare SNI che termina con una barra rovesciata («") e un carattere nullo (» «).

I ricercatori della società Qualys hanno scoperto un bug nella funzione string_printing(tls_in.sni), che consiste in un'escapologia scorretta «». Di conseguenza, si verifica la scrittura della barra rovesciata in forma non escapata nel file di intestazione della stampa. Successivamente, questo file, con privilegi elevati, viene letto dalla funzione spool_read_header(), il che porta a un overflow della heap (heap overflow).

Va notato che finora gli sviluppatori di Exim hanno creato un PoC della vulnerabilità con l'esecuzione di comandi su un server vulnerabile remoto, ma al momento non è disponibile pubblicamente. Data la semplicità di sfruttamento del bug, è solo una questione di tempo e, per di più, piuttosto breve.

È possibile consultare la ricerca più dettagliata della società Qualys qui.

Patchato Exim — patchalo ancora una volta. Nuova Remote Command Execution in Exim 4.92 con una singola richiesta

Utilizzo di SNI in TLS

Numero di server pubblici potenzialmente vulnerabili

Secondo le statistiche di un grande provider di hosting E-Soft Inc al 1 settembre, nei server affittati, la versione 4.92 è utilizzata in oltre il 70% degli host.

Version
Numero di server
Percentuale

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 dell'azienda E-Soft Inc

Se si consulta il motore di ricerca Shodan, su un totale di 5.250.000 server nel database:

  • circa 3.500.000 utilizzano Exim 4.92 (circa 1.380.000 con SSL/TLS);
  • oltre 74.000 utilizzano 4.92.1 (circa 25.000 con SSL/TLS).

Pertanto, il numero di server Exim noti e pubblicamente accessibili potenzialmente vulnerabili è di circa 1.5 milioni.

Patchato Exim — patchalo ancora una volta. Nuova Remote Command Execution in Exim 4.92 con una singola richiesta

Ricerca di server Exim in Shodan

Protezione

  • Il modo più semplice, ma non raccomandato, è non utilizzare TLS, il che porterà all'invio di messaggi di posta elettronica in chiaro.
  • Un'opzione più preferibile per evitare l'esploitazione della vulnerabilità sarà l'aggiornamento alla versione Exim Internet Mailer 4.92.2.
  • Se non è possibile eseguire l'aggiornamento o installare una versione patchata, è possibile impostare ACL nella configurazione di 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

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