Patched Exim - patch din nou. Execuție proaspătă a comenzii de la distanță în Exim 4.92 într-o singură solicitare

Patched Exim - patch din nou. Execuție proaspătă a comenzii de la distanță în Exim 4.92 într-o singură solicitare

Mai recent, la începutul verii, au existat cereri larg răspândite ca Exim să fie actualizat la versiunea 4.92 din cauza vulnerabilității CVE-2019-10149 (Actualizați urgent Exim la 4.92 - există o infecție activă / Sudo Null IT News). Și recent s-a dovedit că malware-ul Sustes a decis să profite de această vulnerabilitate.

Acum toți cei care au actualizat urgent se pot „bucura” din nou: pe 21 iulie 2019, cercetătorul Zerons a descoperit o vulnerabilitate critică în Agent de transfer de e-mail Exim (MTA) atunci când utilizați TLS pentru versiunile din 4.80 4.92.1 up inclusiv, permițând telecomandă executa cod cu drepturi privilegiate (CVE-2019-15846).

Vulnerabilitate

Vulnerabilitatea este prezentă atunci când se utilizează atât bibliotecile GnuTLS, cât și OpenSSL atunci când se stabilește o conexiune TLS securizată.

Potrivit dezvoltatorului Heiko Schlittermann, fișierul de configurare din Exim nu folosește TLS în mod implicit, dar multe distribuții creează certificatele necesare în timpul instalării și permit o conexiune sigură. De asemenea, versiunile mai noi de Exim instalează opțiunea tls_advertise_hosts=* și generați certificatele necesare.

depinde de configuratie. Majoritatea distribuțiilor îl activează în mod implicit, dar Exim are nevoie de un certificat+cheie pentru a funcționa ca server TLS. Probabil că Distros creează un certificat în timpul configurării. Exim-urile mai noi au opțiunea tls_advertise_hosts implicită la „*” și creează un certificat autosemnat, dacă nu este furnizat niciunul.

Vulnerabilitatea în sine constă în procesarea incorectă a SNI (Server Name Indication, o tehnologie introdusă în 2003 în RFC 3546 pentru ca un client să solicite certificatul corect pentru un nume de domeniu, Distribuirea standardului TLS SNI / WEBO Group Blog / Sudo Null IT News) în timpul unei strângeri de mână TLS. Un atacator trebuie doar să trimită un SNI care se termină cu o bară oblică inversă ("") și un caracter nul (" ").

Cercetătorii de la Qualys au descoperit o eroare în funcția string_printing(tls_in.sni), care implică evadarea incorectă a lui „”. Ca rezultat, bara oblică inversă este scrisă fără escape în fișierul antet spool de imprimare. Acest fișier este apoi citit cu drepturi privilegiate de către funcția spool_read_header(), ceea ce duce la depășirea heap-ului.

Este de remarcat faptul că, în acest moment, dezvoltatorii Exim au creat un PoC de vulnerabilități cu executarea comenzilor pe un server vulnerabil la distanță, dar acesta nu este încă disponibil public. Datorită ușurinței de exploatare a bug-ului, este doar o chestiune de timp și destul de scurtă.

Un studiu mai detaliat al lui Qualys poate fi găsit aici.

Patched Exim - patch din nou. Execuție proaspătă a comenzii de la distanță în Exim 4.92 într-o singură solicitare

Folosind SNI în TLS

Numărul de servere publice potențial vulnerabile

Conform statisticilor unui mare furnizor de găzduire E-Soft Inc de la 1 septembrie, pe serverele închiriate, versiunea 4.92 este utilizată în peste 70% dintre gazde.

Versiune
Numărul de servere
La sută

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%

Alte versiuni
25568
5.04%

Statisticile companiei E-Soft Inc

Dacă utilizați un motor de căutare Shodan, apoi din 5,250,000 din baza de date a serverului:

  • aproximativ 3,500,000 folosesc Exim 4.92 (aproximativ 1,380,000 folosesc SSL/TLS);
  • peste 74,000 folosind 4.92.1 (aproximativ 25,000 folosind SSL/TLS).

Astfel, serverele Exim, potențial vulnerabile, cunoscute și accesibile public, numără aproximativ 1.5 milioane.

Patched Exim - patch din nou. Execuție proaspătă a comenzii de la distanță în Exim 4.92 într-o singură solicitare

Căutați servere Exim în Shodan

protecție

  • Cea mai simplă, dar nerecomandată, opțiune este să nu utilizați TLS, ceea ce va duce la redirecționarea clară a mesajelor de e-mail.
  • Pentru a evita exploatarea vulnerabilității, ar fi mai de preferat să actualizați versiunea Exim Internet Mailer 4.92.2.
  • Dacă nu este posibil să actualizați sau să instalați o versiune corectată, puteți seta un ACL în configurația Exim pentru opțiunea acl_smtp_mail cu urmatoarele reguli:
    # 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}}}}

Sursa: www.habr.com