Patch-elt Exim — patchelj újra. Friss Remote Command Execution az Exim 4.92-ben egy kéréssel

Patch-elt Exim — patchelj újra. Friss Remote Command Execution az Exim 4.92-ben egy kéréssel

Nemrégiben, a nyár elején tömeges felhívások indultak az Exim 4.92 verzióra történő frissítésre a CVE-2019-10149 sebezhetőség miatt (Azonnal frissítse az exim-t 4.92-re — aktív fertőzés zajlik / Habr). A napokban derült ki, hogy a Sustes nevű rosszindulatú program kihasználja ezt a sebezhetőséget.

Most pedig az összes sürgősen frissített felhasználó újra „örvendezhet”: 2019. július 21-én a Zerons kutató kritikus sebezhetőséget fedezett fel az Exim Mail Transfer agent (MTA) TLS használata közben a 4.80-tól 4.92.1-ig terjedően, amely lehetővé teszi a távoli privilegizált jogokkal rendelkező kód végrehajtását. (CVE-2019-15846).

Sérülékenység

A sebezhetőség fennáll a GnuTLS és OpenSSL könyvtárak használata során, amikor biztonságos TLS kapcsolatot létesítenek.

Heiko Schlittermann fejlesztő elmondása szerint az Exim konfigurációs fájlja alapértelmezetten nem használ TLS-t, azonban sok disztribúció telepítéskor létrehozza a szükséges tanúsítványokat és engedélyezi a biztonságos kapcsolatot. Ezen kívül az újabb Exim verziók automatikusan beállítják a tls_advertise_hosts=* opciót, és létrehozzák a szükséges tanúsítványokat.

a konfigurációtól függően. A legtöbb disztribúció alapértelmezetten engedélyezi, de az Exim-nek tanúsítványra és kulcsra van szüksége a TLS kiszolgálóként való működéshez. Valószínű, hogy a disztribúciók a telepítés során létrehoznak egy tanúsítványt. Az újabb Exim verziók alapértelmezés szerint a tls_advertise_hosts opciót „*”-ra állítják, és önaláírt tanúsítványt hoznak létre, ha nincs megadva.

A sebezhetőség alapja a SNI (Server Name Indication) helytelen kezelése, amely technológiát 2003-ban vezették be az RFC 3546-ban, hogy a kliens megfelelő tanúsítványt kérhessen a domain névhez. A TLS SNI szabvány terjedése / WEBO Group blog / Habr) a TLS kézfogás során. A támadónak elegendő, ha egy SNI-t küld, amely egy visszaperjel („”) és egy nullaszimbolum („ ”) végződik.

A Qualys kutatói feltárták a string_printing(tls_in.sni) funkcióban lévő hibát, amely a „” helytelen escaping-jében rejlik. Ennek következtében a visszaperjel nem escape-elt formában kerül be a print spool fejléc fájlba. E fájl, amelynek privilegizált jogai vannak, beolvasható a spool_read_header() funkció által, ami heap overflow-hoz vezet.

Érdemes megjegyezni, hogy jelenleg az Exim fejlesztői létrehozták a sebezhetőség PoC-ját, amely parancsok végrehajtását teszi lehetővé egy távoli sebezhető szerveren, de ez még nem áll nyilvános elérésre. A hiba kihasználásának egyszerűsége miatt ez csupán idő kérdése, és meglehetősen rövid időn belül várható.

A Qualys részletesebb kutatása megismerhető itt.

Patch-elt Exim — patchelj újra. Friss Remote Command Execution az Exim 4.92-ben egy kéréssel

Az SNI használata a TLS-ben

A potenciálisan sebezhető nyílt szerverek száma

Egy nagy hosting szolgáltató statisztikái szerint E-Soft Inc szeptember 1-jén a bérelt szervereken a 4.92-es verziót a hosztok több mint 70%-a használja.

Verzió
Szerverek száma
Százalék

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%

Más verziók
25568
5.04%

E-Soft Inc statisztikája

Ha a keresőszolgáltatáshoz fordulunk Shodan, akkor az 5,250,000 szerver adatbázisból:

  • kb. 3,500,000 használja az Exim 4.92-t (kb. 1,380,000 SSL/TLS használatával);
  • több mint 74,000 használja a 4.92.1-et (kb. 25,000 SSL/TLS használatával).

Így a nyilvánosan ismert és hozzáférhető, potenciálisan sebezhető Exim szerverek száma körülbelül 1.5 millió.

Patch-elt Exim — patchelj újra. Friss Remote Command Execution az Exim 4.92-ben egy kéréssel

Exim szerverek keresése a Shodan-ban

Védelem

  • A legegyszerűbb, de nem ajánlott megoldás a TLS használatának mellőzése, ami a levelek nyílt formában való továbbításához vezet.
  • Jobb megoldás a sebezhetőség kihasználásának elkerülésére a verzióra történő frissítés Exim Internet Mailer 4.92.2.
  • Ha a frissítés vagy a javított verzió telepítése nem lehetséges, akkor az Exim konfigurációjában beállítható az ACL acl_smtp_mail a következő szabályokkal:
    # 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}}}}

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster