Adabakia Exim - adabakia berriro. Urruneko komandoen exekuzio berria Exim 4.92 eskaera batean

Adabakia Exim - adabakia berriro. Urruneko komandoen exekuzio berria Exim 4.92 eskaera batean

Duela gutxi, uda hasieran, Exim 4.92 bertsiora eguneratzeko deia zabaldu zen CVE-2019-10149 ahultasuna dela eta (Eguneratu urgentziaz Exim 4.92ra - infekzio aktibo bat dago / Sudo Null IT News). Eta duela gutxi Sustes malwareak ahultasun hori aprobetxatzea erabaki zuela.

Orain premiaz eguneratu zuten guztiak "poztu" daitezke berriro: 21ko uztailaren 2019ean, Zerons ikertzaileak ahultasun kritiko bat aurkitu zuen. Exim Mail Transfer Agent (MTA) TLS erabiltzean bertsioetarako 4.80 4.92.1 den barne, urruneko aukera emanez exekutatu kodea eskubide pribilegiatuekin (CVE-2019-15846).

Ahultasuna

Ahultasuna dago TLS konexio segurua ezartzean GnuTLS eta OpenSSL liburutegiak erabiltzean.

Heiko Schlittermann garatzailearen arabera, Exim-en konfigurazio fitxategiak ez du TLS erabiltzen lehenespenez, baina banaketa askok beharrezko ziurtagiriak sortzen dituzte instalazioan zehar eta konexio segurua gaitu. Exim-en bertsio berriek ere instalatzen dute aukera tls_advertise_hosts=* eta beharrezko ziurtagiriak sortu.

konfigurazioaren araberakoa da. Banaketa gehienek lehenespenez gaitzen dute, baina Exim-ek ziurtagiri+gako bat behar du TLS zerbitzari gisa lan egiteko. Seguruenik, Distroek ziurtagiri bat sortzen dute konfigurazioan. Exim berrienek tls_advertise_hosts aukera dute lehenetsia "*" gisa eta norberak sinatutako ziurtagiri bat sortzen dute, halakorik ematen ez bada.

Ahultasuna bera SNI (Server Name Indication) prozesamendu okerrean datza, 2003an RFC 3546-n sartutako teknologia bezero batek domeinu-izen baten ziurtagiri zuzena eskatzeko, TLS SNI estandarraren banaketa / WEBO Group Bloga / Sudo Null IT News) TLS esku-emate batean. Erasotzaile batek amaierako SNI bat bidali behar du atzera barra ("") eta karaktere nulu batekin (" ").

Qualys-eko ikertzaileek string_printing(tls_in.sni) funtzioan akats bat aurkitu dute, eta horrek ""-ren okerreko ihesa dakar. Ondorioz, atzera-barra inprimatzeko spool goiburuko fitxategian ihesik gabe idazten da. Fitxategi hau pribilegiodun eskubideekin irakurtzen du spool_read_header() funtzioak, eta horrek heap gainezkatzea dakar.

Aipatzekoa da une honetan Exim-eko garatzaileek ahultasunen PoC bat sortu dutela komandoak urruneko zerbitzari zaurgarri batean exekutatzeko, baina oraindik ez dago publikoki eskuragarri. Akatsa ustiatzeko erraztasuna dela eta, denbora kontua besterik ez da, eta nahiko laburra.

Qualys-en azterketa zehatzagoa aurki daiteke Hemen.

Adabakia Exim - adabakia berriro. Urruneko komandoen exekuzio berria Exim 4.92 eskaera batean

SNI erabiliz TLSn

Ahulezia izan dezaketen zerbitzari publikoen kopurua

Hosting hornitzaile handi baten estatistiken arabera E-Soft Inc irailaren 1etik aurrera, alokatutako zerbitzarietan, 4.92 bertsioa erabiltzen da ostalarien % 70 baino gehiagotan.

Bertsio
Zerbitzari kopurua
Ehunekoa

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%

Beste bertsio batzuk
25568
5.04%

E-Soft Inc konpainiaren estatistikak

Bilatzaile bat erabiltzen baduzu Shodan, gero zerbitzariaren datu-baseko 5,250,000etatik:

  • 3,500,000 inguruk Exim 4.92 erabiltzen dute (1,380,000 inguruk SSL/TLS erabiliz);
  • 74,000 baino gehiago 4.92.1 erabiltzen ari dira (25,000 inguru SSL/TLS erabiltzen).

Horrela, publikoki ezagunak eta eskuragarriak izan daitezkeen Exim zerbitzariak gutxi gorabehera 1.5 milioi.

Adabakia Exim - adabakia berriro. Urruneko komandoen exekuzio berria Exim 4.92 eskaera batean

Bilatu Exim zerbitzariak Shodan-en

babes

  • Aukerarik errazena, baina ez gomendagarria, TLS ez erabiltzea da, eta horrek mezu elektronikoak argi eta garbi birbidaliko ditu.
  • Ahultasuna ustiatzeko, hobeagoa litzateke bertsiora eguneratzea Exim Internet Mailer 4.92.2.
  • Adabakitutako bertsio bat eguneratzea edo instalatzea ezinezkoa bada, ACL bat ezar dezakezu Exim konfigurazioan aukerarako. acl_smtp_mail arau hauekin:
    # 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}}}}

Iturria: www.habr.com