Patchet Exim — patch igen. Ny Remote Command Execution i Exim 4.92 i Ă©n anmodning

Patchet Exim — patch igen. Ny Remote Command Execution i Exim 4.92 i Ă©n anmodning

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 (Opdater straks exim til 4.92 — der er aktiv infektion / Habr). 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. (CVE-2019-15846).

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, Udbredelse af standarden TLS SNI / Blog fra WEBO Group / Habr) 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 her.

Patchet Exim — patch igen. Ny Remote Command Execution i Exim 4.92 i Ă©n anmodning

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 Shodan, 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.

Patchet Exim — patch igen. Ny Remote Command Execution i Exim 4.92 i Ă©n anmodning

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 Exim Internet Mailer 4.92.2.
  • 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

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster