Har patcha Exim – patch det igjen. Ny Remote Command Execution i Exim 4.92 i Ă©n forespĂžrsel.

Har patcha Exim – patch det igjen. Ny Remote Command Execution i Exim 4.92 i Ă©n forespĂžrsel.

Nylig, i begynnelsen av sommeren, kom det massevis av oppfordringer om Ä oppdatere Exim til versjon 4.92 pÄ grunn av sÄrbarheten CVE-2019-10149 (Oppdater exim til 4.92 umiddelbart - aktiv smittespredning / Habr). Og nylig ble det kjent at skadelig programvare Sustes har bestemt seg for Ä utnytte denne sÄrbarheten.

NÄ kan alle som har oppdatert, igjen «glede» seg: 21. juli 2019 oppdaget forsker Zerons en kritisk sÄrbarhet i Exim Mail Transfer agent (MTA) ved bruk av TLS for versjoner fra 4.80 til 4.92.1 inkludert, som muliggjÞr fjernkjÞring av kode med privilegerte rettigheter. (CVE-2019-15846).

The vulnerability

SÄrbarheten er til stede ved bruk av bÄde GnuTLS- og OpenSSL-biblioteker nÄr en sikker TLS-tilkobling etableres.

IfÞlge utvikleren Heiko Schlittermann bruker konfigurasjonsfilen i Exim som standard ikke TLS, men mange distribusjoner lager nÞdvendige sertifikater under installasjonen og inkluderer en sikker tilkobling. OgsÄ nyere versjoner av Exim setter alternativet tls_advertise_hosts=* og genererer nÞdvendige sertifikater.

avhenger av konfigurasjonen. De fleste distribusjoner aktiverer det som standard, men Exim trenger et sertifikat + nÞkkel for Ä fungere som en TLS-server. Sannsynligvis lager distribusjoner et sertifikat under oppsettet. Nyere Exim-versjoner har alternativet tls_advertise_hosts som standard satt til «*» og oppretter et selvsignert sertifikat, hvis ingen er oppgitt.

Selve sÄrbarheten ligger i feil hÄndtering av SNI (Server Name Indication, en teknologi som ble innfÞrt i 2003 i RFC 3546 for Ä be om riktig sertifikat for domenenavnet fra klienten, Spredning av TLS SNI-standarden / Blogg fra WEBO Group / Habr) under TLS-hÄndtrykket. Angriperen trenger bare Ä sende SNI som ender med en bakoverstrek («») og en null-tegn (» «).

Forskere fra Qualys oppdaget en feil i funksjonen string_printing(tls_in.sni), som ligger i feilaktig escaping av «». Som et resultat skrives bakoverstreken ut i uescaped form i overskriftsfilen print spool. Deretter leses denne filen med privilegerte rettigheter av funksjonen spool_read_header(), noe som fÞrer til et heap overflow.

Det er verdt Ä merke seg at utviklerne av Exim forelÞpig har laget en PoC for sÄrbarheten med utsendelse av kommandoer pÄ en fjern sÄrbar server, men den er fremdeles ikke offentlig tilgjengelig. PÄ grunn av enkelheten i utnyttelsen av feilen er det bare et spÞrsmÄl om tid, og det ganske kort.

En mer detaljert undersĂžkelse fra Qualys kan leses her.

Har patcha Exim – patch det igjen. Ny Remote Command Execution i Exim 4.92 i Ă©n forespĂžrsel.

Bruk av SNI i TLS

Antall potensielt sÄrbare offentlige servere

IfÞlge statistikk fra en stor hostingleverandÞr E-Soft Inc per 1. september, pÄ leide servere brukes versjon 4.92 pÄ mer enn 70% av vertene.

Version
Antall servere
Prosent

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 versjoner
25568
5.04%

Statistikk fra E-Soft Inc

Hvis du sĂžker i sĂžkemotoren Shodan, av de 5,250,000 serverne i databasen:

  • omtrent 3,500,000 bruker Exim 4.92 (omtrent 1,380,000 med SSL/TLS);
  • over 74,000 bruker 4.92.1 (omtrent 25,000 med SSL/TLS).

Dermed er det anslagsvis 1.5 millioner.

Har patcha Exim – patch det igjen. Ny Remote Command Execution i Exim 4.92 i Ă©n forespĂžrsel.

SĂžk etter Exim-servere i Shodan

Beskyttelse

  • Den enkleste, men ikke anbefalte lĂžsningen — ikke bruk TLS, hvilket vil fĂžre til at e-postmeldinger sendes i klar tekst.
  • Det mest foretrukne for Ă„ unngĂ„ utnyttelse av sĂ„rbarheten vil vĂŠre Ă„ oppdatere til versjon Exim Internet Mailer 4.92.2.
  • Hvis oppdatering eller installasjon av en patch-versjon ikke er mulig, kan du angi ACL i Exim-konfigurasjonen for alternativet 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

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster