Am patchat Exim - patchați din nou. O nouă Executare de Comenzi de la Distanță în Exim 4.92 într-o singură solicitare

Am patchat Exim - patchați din nou. O nouă Executare de Comenzi de la Distanță în Exim 4.92 într-o singură solicitare

Aproape de curând, la începutul verii, au început apeluri masive pentru actualizarea Exim la versiunea 4.92 din cauza vulnerabilității CVE-2019-10149 (Actualizați urgent exim la 4.92 — are loc o infectare activă / Habr). Iar zilele acestea s-a descoperit că malware-ul Sustes a decis să profite de această vulnerabilitate.

Acum toți cei care s-au actualizat de urgență se pot bucura din nou: pe 21 iulie 2019, cercetătorul Zerons a descoperit o vulnerabilitate critică în Exim Mail Transfer agent (MTA) atunci când se utilizează TLS pentru versiunile de la 4.80 până la 4.92.1 inclusiv, care permite în mod remote executarea codului cu privilegii de administrator (CVE-2019-15846).

Vulnerabilitatea

Vulnerabilitatea este prezentă la utilizarea bibliotecilor atât GnuTLS, cât și OpenSSL la stabilirea unei conexiuni TLS securizate.

Potrivit dezvoltatorului Heiko Schlittermann, fișierul de configurare în Exim implicit nu utilizează TLS, totuși multe distribuții în timpul instalării creează certificatele necesare și includ conexiunea securizată. De asemenea, versiunile mai noi de Exim activează opțiunea tls_advertise_hosts=* și generează certificatele necesare.

depinde de configurație. Cele mai multe distribuții o activează implicit, dar Exim are nevoie de un certificat + cheie pentru a funcționa ca un server TLS. Probabil că distribuțiile creează un certificat în timpul configurării. Exim-urile mai noi au opțiunea tls_advertise_hosts setată implicit la „*” și creează un certificat auto-semnat, dacă nu este furnizat.

Vulnerabilitatea în sine constă în tratarea incorectă a SNI (Server Name Indication, tehnologie introdusă în 2003 în RFC 3546 pentru a solicita de la client un certificat corect pentru numele de domeniu, Răspândirea standardului TLS SNI / Blogul companiei WEBO Group / Habr) în timpul handshake-ului TLS. Atacatorului îi este suficient să trimită un SNI care se termină cu un backslash („”) și un simbol null („ ”).

Cercetătorii de la Qualys au descoperit o eroare în funcția string_printing(tls_in.sni), care constă în tratarea incorectă a „”. Ca rezultat, un backslash este scris într-o formă neîngrijită în fișierul de anteturi print spool. Apoi, acest fișier cu privilegii de administrator este citit de funcția spool_read_header(), ceea ce duce la o suprascriere a heap-ului.

Merită menționat că în prezent, dezvoltatorii Exim au creat un PoC al vulnerabilității care permite execuția de comenzi pe un server vulnerabil la distanță, dar acesta nu este încă disponibil publicului. Datorită simplității de exploatare a bug-ului, este doar o chestiune de timp, și anume, destul de scurt.

Puteți consulta o cercetare mai detaliată a companiei Qualys aici.

Am patchat Exim - patchați din nou. O nouă Executare de Comenzi de la Distanță în Exim 4.92 într-o singură solicitare

Folosirea SNI în TLS

Numărul serverelor publice potențial vulnerabile

Potrivit statisticilor unui mare furnizor de hosting E-Soft Inc la 1 septembrie, versiunea 4.92 este utilizată pe mai mult de 70% dintre serverele închiriate.

Version
Numărul Serverelor
Procent

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%

Statistica companiei E-Soft Inc

Dacă ne adresăm motorului de căutare Shodan, din cele 5.250.000 din baza de date a serverelor:

  • aproximativ 3.500.000 folosesc Exim 4.92 (aproximativ 1.380.000 cu utilizarea SSL/TLS);
  • peste 74.000 folosesc 4.92.1 (aproximativ 25.000 cu utilizarea SSL/TLS).

Astfel, numărul total de servere Exim cunoscute public și accesibile potențial vulnerabile se ridică la aproximativ 1,5 milioane.

Am patchat Exim - patchați din nou. O nouă Executare de Comenzi de la Distanță în Exim 4.92 într-o singură solicitare

Căutarea serverelor Exim în Shodan

Protección

  • Cea mai simplă, dar nerecomandată opțiune este să nu folosești TLS, ceea ce va duce la transmiterea mesajelor de poștă în clar.
  • O opțiune mai preferabilă pentru evitarea exploatării vulnerabilității ar fi actualizarea la versiunea Exim Internet Mailer 4.92.2.
  • În cazul în care actualizarea sau instalarea unei versiuni patch-uite nu este posibilă, poți seta ACL în configurația Exim pentru opțiunea acl_smtp_mail cu următoarele 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: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster