Nu kan alla som snabbt uppdaterade "glädjas" igen: den 21 juli 2019 upptäckte forskaren Zerons en kritisk sårbarhet i Exim Mail Transfer Agent (MTA) när du använder TLS för versioner från 4.80 4.92.1 upp inklusive, tillåter fjärrkontroll exekvera kod med privilegierade rättigheter (CVE-2019-15846).
Sårbarhet
Sårbarheten finns när du använder både GnuTLS- och OpenSSL-biblioteken när du upprättar en säker TLS-anslutning.
Enligt utvecklaren Heiko Schlittermann använder inte konfigurationsfilen i Exim TLS som standard, men många distributioner skapar de nödvändiga certifikaten under installationen och möjliggör en säker anslutning. Även nyare versioner av Exim installerar alternativet tls_advertise_hosts=* och generera de nödvändiga certifikaten.
beror på konfigurationen. De flesta distros aktiverar det som standard, men Exim behöver ett certifikat+nyckel för att fungera som en TLS-server. Förmodligen skapar Distros ett certifikat under installationen. Nyare Exims har alternativet tls_advertise_hosts som standard till "*" och skapar ett självsignerat certifikat, om inget tillhandahålls.
Själva sårbarheten ligger i felaktig behandling av SNI (Server Name Indication, en teknik som introducerades 2003 i RFC 3546 för att en klient ska begära rätt certifikat för ett domännamn, Distribution av TLS SNI-standarden / WEBO Group Blog / Sudo Null IT News) under ett TLS-handslag. En angripare behöver bara skicka ett SNI som slutar med ett snedstreck ("") och ett nolltecken (" ").
Forskare från Qualys har upptäckt en bugg i funktionen string_printing(tls_in.sni), som involverar felaktig escape av "". Som ett resultat av detta skrivs det omvända snedstrecket utan escape till utskriftsspoolhuvudfilen. Denna fil läses sedan med privilegierade rättigheter av spool_read_header()-funktionen, vilket leder till heap-spill.
Det är värt att notera att Exim-utvecklare för närvarande har skapat en PoC av sårbarheter med exekvering av kommandon på en sårbar fjärrserver, men den är ännu inte tillgänglig för allmänheten. På grund av hur lätt det är att utnyttja buggen är det bara en tidsfråga och ganska kort.
En mer detaljerad studie av Qualys kan hittas här.
Använder SNI i TLS
Antal potentiellt sårbara offentliga servrar
Enligt statistik från en stor värdleverantör E-Soft Inc från och med den 1 september, på hyrda servrar, används version 4.92 i mer än 70 % av värdarna.
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%
E-Soft Inc företagsstatistik
Om du använder en sökmotor shodan, sedan av 5,250,000 XNUMX XNUMX i serverdatabasen:
cirka 3,500,000 4.92 1,380,000 använder Exim XNUMX (cirka XNUMX XNUMX XNUMX använder SSL/TLS);
över 74,000 4.92.1 med 25,000 (cirka XNUMX XNUMX använder SSL/TLS).
Således finns det ungefär offentligt kända och tillgängliga Exim potentiellt sårbara servrar 1.5 miljoner.
Sök efter Exim-servrar i Shodan
skydd
Det enklaste, men inte rekommenderade, alternativet är att inte använda TLS, vilket kommer att resultera i att e-postmeddelanden vidarebefordras i klartext.
För att undvika exploatering av sårbarheten skulle det vara bättre att uppdatera till versionen Exim Internet Mailer 4.92.2.
Om det är omöjligt att uppdatera eller installera en korrigerad version kan du ställa in en 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}}}}