Patchato Exim — patcha di nuovo. Nuova Remote Command Execution in Exim 4.92 in una sola richiesta

Patchato Exim — patcha di nuovo. Nuova Remote Command Execution in Exim 4.92 in una sola richiesta

Recentemente, all'inizio dell'estate, ci sono stati appelli generalizzati ad aggiornare Exim alla versione 4.92 a causa della vulnerabilità CVE-2019-10149 (Aggiorna urgentemente exim a 4.92 — si sta propagando un'infezione / Habr). Di recente, è emerso che il malware Sustes ha deciso di sfruttare questa vulnerabilità.

Ora tutti coloro che hanno aggiornato in fretta possono di nuovo 'rallegrarsi': 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 inclusa, che consente di eseguire codice con privilegi elevati (CVE-2019-15846).

Vulnerabilità

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

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

dipende dalla configurazione. La maggior parte delle distribuzioni lo abilita per impostazione predefinita, ma Exim ha bisogno di un certificato e di una 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 che di default è impostata su «*» e creano un certificato autofirmato, se non fornito.

La vulnerabilità stessa risiede nella gestione errata del 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 che un attaccante invii un SNI che termina con un backslash («») e un carattere nullo (» «).

I ricercatori di Qualys hanno scoperto un bug nella funzione string_printing(tls_in.sni), che consiste in un'inadeguata escape di «». Di conseguenza, viene scritta una barra inversa in forma non eseguita nel file di intestazione del print spool. Successivamente, questo file viene letto dalla funzione spool_read_header() con diritti privilegiati, il che porta a un overflow dell'heap.

È importante notare che al momento gli sviluppatori di Exim hanno creato un PoC per una vulnerabilità che consente l'esecuzione di comandi su un server vulnerabile remoto, ma attualmente non è disponibile al pubblico. Data la semplicità di sfruttamento del bug, è solo una questione di tempo, e piuttosto breve.

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

Patchato Exim — patcha di nuovo. Nuova Remote Command Execution in Exim 4.92 in una sola richiesta

Utilizzo di SNI in TLS

Numero di potenziali server pubblici vulnerabili

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

Versione
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 della società E-Soft Inc

Se ci si rivolge al motore di ricerca Shodan, su 5.250.000 server nel database:

  • circa 3.500.000 utilizzano Exim 4.92 (circa 1.380.000 con utilizzo di SSL/TLS);
  • più di 74.000 utilizzano 4.92.1 (circa 25.000 con utilizzo di SSL/TLS).

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

Patchato Exim — patcha di nuovo. Nuova Remote Command Execution in Exim 4.92 in una sola richiesta

Ricerca di server Exim in Shodan

Sicurezza

  • Il modo più semplice, ma non raccomandato, è non utilizzare TLS, il che comporterebbe la trasmissione dei messaggi di posta in chiaro.
  • È consigliabile evitare l'exploitation delle vulnerabilità aggiornando alla versione Exim Internet Mailer 4.92.2.
  • Se non è possibile aggiornare o installare una versione patchata, è possibile impostare un ACL nella configurazione di Exim per l'opzione acl_smtp_mail seguito dalle 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