Detaljer om en kritisk sÄrbarhet i Exim har avslöjats

Publicerad korrigerande utgÄva Exim 4.92.2 med ÄtgÀrd av kritisk sÄrbarheten (CVE-2019-15846), som i standardkonfiguration kan leda till fjÀrrutförande av kod av en angripare med root-rÀttigheter. Problemet uppstÄr endast nÀr TLS-stöd Àr aktiverat och utnyttjas genom överföring av ett specialdesignat klientcertifikat eller Àndrat vÀrde i SNI. SÄrbarhet upptÀcktes frÄn företaget Qualys.

Problemet Ă€r nĂ€rvarande i hanteraren för att undvika specialtecken i strĂ€ngen (string_interpret_escape() frĂ„n string.c) och orsakas av att tecknet ‘\’ i slutet av strĂ€ngen tolkas före nolltecknet (‘\0’) och undviker det. Vid undanröjning hanteras sekvensen ‘\’ och efterföljande nollkod för slutet av strĂ€ngen som ett tecken och pekaren flyttas till data utanför strĂ€ngen, som behandlas som en förlĂ€ngning av den.

Koden som anropar string_interpret_escape() allokerar en buffer baserat pÄ den faktiska storleken, och den angivna pekaren hamnar i ett omrÄde utanför bufferten. Följaktligen uppstÄr en situation dÀr man försöker lÀsa data frÄn ett omrÄde utanför buffertens grÀnser nÀr den inmatade strÀngen bearbetas, och ett försök att skriva den avkodade strÀngen kan leda till skrivning utanför bufferten.

I standardkonfiguration kan sÄrbarheten utnyttjas genom att överföra specialdesignade data i SNI vid etablering av en sÀker anslutning till servern. Problemet kan ocksÄ utnyttjas genom att Àndra vÀrdena för peerdn i konfigurationer som Àr instÀllda för autentisering med klientcertifikat, eller vid import av certifikat. Attacken via SNI och peerdn Àr möjlig frÄn versionen Exim 4.80, dÀr funktionen string_unprinting() tillÀmpades för att avkoda innehÄllet i peerdn och SNI.

För attacken via SNI har en prototyp av ett exploit utvecklats som fungerar pĂ„ i386 och amd64-arkitekturer i Linux-system med Glibc. Exploiten anvĂ€nder dataöverlappning i heapomrĂ„det, vilket leder till överskrivning av minnet dĂ€r loggfilens namn lagras. Filnamnet ersĂ€tts med ‘/../../../../../../../../../../../../etc/passwd’. DĂ€refter överskrivs en variabel med adressen till avsĂ€ndaren, som först sparas i loggen, vilket gör det möjligt att lĂ€gga till en ny anvĂ€ndare i systemet.

Paketuppdateringar för att ÄtgÀrda sÄrbarheten har slÀppts av distributörerna Debian, Ubuntu, Fedora, SUSE/openSUSE och FreeBSD. RHEL och CentOS problemet pÄverkade, eftersom Exim inte ingÄr i deras standardpaketrepository (i EPEL uppdatering redan har formulerats, men Ànnu inte placerat i det offentliga repositoryt). I Exim-koden ÄtgÀrdas problemet med en enradig patchen, som inaktiverar effekt av bakÄtsnedstreck om det finns i slutet av raden.

Som en tillfÀllig lösning för att blockera sÄrbarheten kan man inaktivera TLS-stödet eller lÀgga till i
ACL-sektionen «acl_smtp_mail»:

deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster