
Nyligen, i början av sommaren, fanns det en massiv uppmaning att uppgradera Exim till version 4.92 pÄ grund av sÄrbarheten CVE-2019-10149 (). Och nyligen upptÀcktes det att den skadliga Sustes utnyttjade den hÀr sÄrbarheten.
Nu kan alla som hastigt uppgrupperat sig Äterigen "glÀdjas": Den 21 juli 2019 upptÀckte forskaren Zerons en kritisk sÄrbarhet i Exim Mail Transfer agent (MTA) vid anvÀndning av TLS för versioner frÄn 4.80 till 4.92.1 inklusive, vilket möjliggör fjÀrrkontroll att köra kod med privilegierade rÀttigheter ().
SÄrbarhet
SÄrbarheten förekommer vid anvÀndning av bibliotek som GnuTLS och OpenSSL vid installation av en sÀker TLS-anslutning.
Enligt utvecklaren Heiko Schlittermann anvÀnder Exims konfigurationsfil som standard inte TLS, men mÄnga distributioner skapar nödvÀndiga certifikat och inkluderar en sÀker anslutning vid installation. Dessutom installerar nyare versioner av Exim alternativet tls_advertise_hosts=* och genererar nödvÀndiga certifikat.
beroende pÄ konfigurationen. De flesta distributionerna aktiverar det som standard, men Exim behöver ett certifikat + nyckel för att fungera som en TLS-server. Förmodligen skapar distributionerna ett certifikat under installationen. Nyare Exim-versioner har tls_advertise_hosts-alternativet som standard instÀllt pÄ "*" och skapar ett sjÀlvsignerat certifikat om inget anges.
SÄrbarheten i sig ligger i felaktig hantering av SNI (Server Name Indication, en teknik som introducerades 2003 i RFC 3546 för att lÄta klienten begÀra ett korrekt certifikat för domÀnnamnet, ) under TLS-handshake. En angripare behöver bara skicka SNI som slutar med en bakÄtsnedstrÀck («») och en null-tecken (»«).
Forskare frÄn Qualys har upptÀckt en bugg i funktionen string_printing(tls_in.sni), som bestÄr av felaktig escaping av «». Som ett resultat skrivs bakÄtsnedstrÀcket utan escaping i filen för headern print spool. Denna fil lÀses sedan av funktionen spool_read_header() med privilegierade rÀttigheter, vilket leder till en heap overflow.
Det Àr vÀrt att notera att Exims utvecklare för nÀrvarande har skapat en PoC för sÄrbarheten för att köra kommandon pÄ en extern sÄrbar server, men den Àr för nÀrvarande inte offentligt tillgÀnglig. PÄ grund av enkelheten i att utnyttja buggen Àr det bara en tidsfrÄga, och ganska kort tid dessutom.
För mer detaljerad forskning frÄn Qualys kan du lÀsa .

AnvÀndning av SNI i TLS
Antal potentiellt sÄrbara offentliga servrar
Enligt statistik frÄn en stor hostingleverantör E-Soft Inc den 1 september anvÀnds version 4.92 pÄ mer Àn 70 % av de hyrestjÀnster som finns.
Version
Antal servrar
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%
Andra versioner
25568
5.04%
Statistik frÄn E-Soft Inc
Om man söker i sökmotorn , sÄ av 5 250 000 i databasen av servrar:
- ungefÀr 3 500 000 anvÀnder Exim 4.92 (ungefÀr 1 380 000 med SSL/TLS);
- över 74 000 anvÀnder 4.92.1 (ungefÀr 25 000 med SSL/TLS).
DÀrför finns det cirka 1.5 miljoner.

Sökning av Exim-servrar i Shodan
Skydd
- Det enklaste, men inte rekommenderade alternativet Àr att inte anvÀnda TLS, vilket leder till att e-postmeddelanden skickas i klartext.
- Mer att föredra för att undvika utnyttjande av sÄrbarheten Àr att uppgradera till version .
- Om uppgradering eller installation av en patchad version inte Àr möjligt kan du stÀlla in ACL i Exim-konfigurationen för alternativet acl_smtp_mail med följande regler:
# 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}}}}
KĂ€lla: habr.com
