korrigerande utgÄva med ÄtgÀrd av kritisk (), 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 frÄn företaget Qualys.
Problemet i hanteraren för att undvika specialtecken i strĂ€ngen ( 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 , 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 , , , och . RHEL och CentOS problemet , eftersom Exim inte ingÄr i deras standardpaketrepository (i uppdatering , men Ànnu i det offentliga repositoryt). I Exim-koden ÄtgÀrdas problemet med en enradig , 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
