
For ikke sÄ lÊnge siden, i begyndelsen af sommeren, kom der masser af opfordringer til at opdatere Exim til version 4.92 pÄ grund af sÄrbarheden CVE-2019-10149 (). For nylig blev det klart, at det ondsindede program Sustes har besluttet at udnytte denne sÄrbarhed.
Nu kan alle, der hastigt har opdateret, endnu en gang "glÊde" sig over: Den 21. juli 2019 opdagede forskeren Zerons en kritisk sÄrbarhed i Exim Mail Transfer agent (MTA) ved brug af TLS for versioner fra 4.80 til 4.92.1 inklusive, hvilket muliggÞr fjernbetjening af kode med privilegerede rettigheder. ().
SÄrbarhed
SÄrbarheden er til stede ved brug af biblioteker som GnuTLS samt OpenSSL ved oprettelse af en sikret TLS-forbindelse.
IfĂžlge udvikleren Heiko Schlittermann bruger Exim's konfigurationsfil som standard ikke TLS, men mange distributioner opretter de nĂždvendige certifikater under installationen og inkluderer en sikret forbindelse. Desuden indstiller nyere versioner af Exim muligheden tls_advertise_hosts=* og genererer de nĂždvendige certifikater.
afhÊnger af konfigurationen. De fleste distributioner aktiverer det som standard, men Exim har brug for et certifikat+nÞgle for at fungere som en TLS-server. Sandsynligvis opretter distributioner et certifikat under opsÊtningen. Nyere Exim-versioner har tls_advertise_hosts indstillingen, der som standard er indstillet til «*» og opretter et selvsigneret certifikat, hvis der ikke gives et.
SÄrbarheden selv bestÄr i forkert behandling af SNI (Server Name Indication, en teknologi introduceret i 2003 i RFC 3546 til anmodning fra klienten om det korrekte certifikat til domÊnenavnet, ) under TLS-handshake. En angriber skal blot sende en SNI, der ender med en backslash ("\") og et nul-tegn ("").
Forskerne fra Qualys har opdaget en fejl i funktionen string_printing(tls_in.sni), som bestÄr i forkert escape af «». Som fÞlge heraf skrives tilbageholdte skrÄstreger i ukorrekt form i print spool headerfilen. Denne fil, med privilegerede rettigheder, lÊses derefter af funktionen spool_read_header(), hvilket fÞrer til heap overflow.
Det skal bemÊrkes, at udviklerne af Exim pÄ nuvÊrende tidspunkt har skabt en PoC for sÄrbarheden med udfÞrelse af kommandoer pÄ en fjern sÄrbar server, men den er endnu ikke offentligt tilgÊngelig. Givet den enkle udnyttelse af fejlen er det blot et spÞrgsmÄl om tid, og ret kort tid.
Et mere detaljeret forsĂžg fra Qualys kan ses .

Brug af SNI i TLS
Antallet af potentielt sÄrbare offentlige servere
IfÞlge statistikker fra en stor hostingudbyder E-Soft Inc den 1. september anvendes version 4.92 pÄ mere end 70% af de lejede servere.
Version
Antal Servere
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%
Andre versioner
25568
5.04%
Statistik fra E-Soft Inc
Hvis man henvender sig til sÞgemaskinen , sÄ ud af 5.250.000 i databasen af servere:
- bruger cirka 3.500.000 Exim 4.92 (omkring 1.380.000 med SSL/TLS);
- mere end 74.000 bruger 4.92.1 (omkring 25.000 med SSL/TLS).
SÄledes er der cirka 1,5 millioner.

SĂžgning efter Exim-servere i Shodan
Lag
- Den nemmeste, men ikke anbefalede mulighed er at undgÄ at bruge TLS, hvilket vil fÞre til, at e-mails sendes i klartekst.
- Mere Þnskeligt for at undgÄ udnyttelse af sÄrbarheden ville vÊre at opdatere til version .
- I tilfĂŠlde af at opgradering eller installation af en patched version ikke er muligt, kan du angive ACL i Exims konfiguration for indstillingen acl_smtp_mail med fĂžlgende 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}}}}
Kilde: habr.com
