Nyní se všichni, kdo naléhavě aktualizovali, mohou znovu „radovat“: 21. července 2019 výzkumník Zerons objevil kritickou zranitelnost v Exim Mail Transfer agent (MTA) při použití TLS pro verze od 4.80 4.92.1 na včetně, umožňující dálkové spustit kód s privilegovanými právy (CVE-2019-15846).
Zranitelnost
Tato chyba zabezpečení se vyskytuje při použití knihoven GnuTLS i OpenSSL při navazování zabezpečeného připojení TLS.
Podle vývojáře Heiko Schlittermanna konfigurační soubor v Eximu standardně nepoužívá TLS, ale mnoho distribucí si během instalace vytváří potřebné certifikáty a umožňuje zabezpečené připojení. Možnost nainstalovat také novější verze Exim tls_advertise_hosts=* a vygenerovat potřebné certifikáty.
záleží na konfiguraci. Většina distribucí to ve výchozím nastavení povoluje, ale Exim potřebuje certifikát+klíč, aby fungoval jako TLS server. Pravděpodobně Distros vytvoří certifikát během instalace. Novější Eximy mají možnost tls_advertise_hosts ve výchozím nastavení na "*" a vytvoří certifikát s vlastním podpisem, pokud žádný není poskytnut.
Samotná zranitelnost spočívá v nesprávném zpracování SNI (Server Name Indication, technologie zavedená v roce 2003 v RFC 3546 pro klienta, aby požádal o správný certifikát pro název domény, Distribuce standardu TLS SNI / WEBO Group Blog / Sudo Null IT News) během TLS handshake. Útočníkovi stačí odeslat SNI končící zpětným lomítkem ("") a znakem null (" ").
Výzkumníci z Qualys objevili chybu ve funkci string_printing(tls_in.sni), která zahrnuje nesprávné escapování „“. V důsledku toho je zpětné lomítko zapsáno do souboru záhlaví tiskového zařazování bez kódování znaků. Tento soubor je pak čten s privilegovanými právy funkcí spool_read_header(), což vede k přetečení haldy.
Stojí za zmínku, že v tuto chvíli vývojáři Exim vytvořili PoC zranitelností s prováděním příkazů na vzdáleném zranitelném serveru, ale zatím není veřejně dostupný. Vzhledem ke snadnému zneužití chyby je to jen otázka času a poměrně krátká.
Podrobnější studii společnosti Qualys lze nalézt zde.
Použití SNI v TLS
Počet potenciálně zranitelných veřejných serverů
Podle statistik velkého poskytovatele hostingu Společnost E-Soft Inc k 1. září je na pronajatých serverech verze 4.92 používána na více než 70 % hostitelů.
Verze
Počet serverů
Procento
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%
Jiné verze
25568
5.04%
Statistiky společnosti E-Soft Inc
Pokud používáte vyhledávač Shodan, pak z 5,250,000 XNUMX XNUMX v databázi serveru:
asi 3,500,000 4.92 1,380,000 používá Exim XNUMX (asi XNUMX XNUMX XNUMX používá SSL/TLS);
více než 74,000 4.92.1 pomocí 25,000 (asi XNUMX XNUMX pomocí SSL/TLS).
Veřejně známých a přístupných Exim potenciálně zranitelných serverů je tedy kolem 1.5M.
Vyhledejte servery Exim v Shodan
ochrana
Nejjednodušší, ale nedoporučovanou možností je nepoužívat TLS, což povede k tomu, že e-mailové zprávy budou přeposílány v jasném formátu.
Aby se zabránilo zneužití zranitelnosti, bylo by vhodnější aktualizovat na verzi Exim Internet Mailer 4.92.2.
Pokud není možné aktualizovat nebo nainstalovat opravenou verzi, můžete pro tuto volbu nastavit ACL v konfiguraci Exim acl_smtp_mail s následujícími pravidly:
# 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}}}}