
Nedavno, početkom ljeta, pojavili su se masovni pozivi za ažuriranje Exim-a na verziju 4.92 zbog ranjivosti CVE-2019-10149 (). A nedavno je otkriveno da je maliciozni Sustes odlučio iskoristiti ovu ranjivost.
Sada se svi koji su hitno ažurirali mogu ponovo "radovati": 21. srpnja 2019. istraživač Zerons otkrio je kritičnu ranjivost u Exim Mail Transfer agent (MTA) prilikom korištenja TLS-a za verzije od 4.80 do 4.92.1 uključivo, koja omogućava daljinsko izvršavanje koda s privilegiranim pravima ().
Ranjivost
Ranjivost se javlja pri korištenju biblioteka kao što su GnuTLS i OpenSSL prilikom uspostavljanja sigurnog TLS veze.
Prema riječima programera Heika Schlittermanna, konfiguracijska datoteka u Eximu po defaultu ne koristi TLS, no mnoge distribucije tijekom instalacije stvaraju potrebne certifikate i uključuju sigurnu vezu. Također, novije verzije Exim-a postavljaju opciju tls_advertise_hosts=* i generiraju potrebne certifikate.
ovisno o konfiguraciji. Većina distribucija uključuje to po defaultu, ali Exim treba certifikat + ključ da bi radio kao TLS server. Vjerojatno distribucije stvaraju certifikat tijekom postavljanja. Noviji Exim-i imaju opciju tls_advertise_hosts postavljenu na «*» i stvaraju samopotpisani certifikat, ako nijedan nije dostavljen.
Sama ranjivost odnosi se na nepravilno rukovanje SNI (Server Name Indication, tehnologija uvedena 2003. u RFC 3546 za zahtjev klijenta da dobije ispravan certifikat za naziv domene, ) tijekom TLS rukovanja. Napadaču je dovoljno poslati SNI koji završava s obrnutim kosom crtom («") i nul-simbolom (» «).
Istraživači iz kompanije Qualys otkrili su grešku u funkciji string_printing(tls_in.sni), koja se odnosi na nepravilno escapovanje «». Kao rezultat toga, dolazi do zapisivanja obrnutih kosa crta u neescapiranom obliku u datoteku zaglavlja print spool. Zatim ovu datoteku s privilegiranim pravima čita funkcija spool_read_header(), što dovodi do prelivanja hrpe (heap overflow).
Važno je napomenuti da su do sada programeri Exim-a stvorili PoC ranjivosti s izvršavanjem naredbi na udaljenom ranjivom serveru, ali u javnom pristupu on još nije dostupan. Zbog jednostavnosti iskorištavanja greške, ovo je samo pitanje vremena, i to prilično kratkog.
Detaljnije istraživanje kompanije Qualys možete pronaći .

Korištenje SNI u TLS-u
Broj potencijalno ranjivih javnih poslužitelja
Prema statistikama velikog provajdera hostinga E-Soft Inc na 1. rujna, na iznajmljenim poslužiteljima verzija 4.92 se koristi na više od 70% hostova.
Verzija
Broj poslužitelja
Postotak
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%
Ostale verzije
25568
5.04%
Statistika tvrtke E-Soft Inc
Ako se obratite tražilici , od 5,250,000 u bazi poslužitelja:
- oko 3,500,000 koristi Exim 4.92 (oko 1,380,000 uz korištenje SSL/TLS);
- više od 74,000 koristi 4.92.1 (oko 25,000 uz korištenje SSL/TLS).
Tako, javno poznatih i dostupnih Exim potencijalno ranjivih poslužitelja ima oko 1,5 milijuna.

Pretraživanje Exim-poslužitelja u Shodanu
Zaštita
- Najjednostavnija, ali nepreporučena opcija — ne koristiti TLS, što će dovesti do slanja poruka u otvorenom obliku.
- Mnoge su prednosti izbjegavanja iskorištavanja ranjivosti ažuriranjem na verziju .
- Ako ažuriranje ili instalacija zakrpljene verzije nije moguća, možete postaviti ACL u konfiguraciji Exima za opciju acl_smtp_mail s sljedećim pravilima:
# 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}}}}
Izvor: habr.com
