problem
Kod koji poziva string_interpret_escape() dodeljuje bafer za odvod na osnovu stvarne veličine, a izloženi pokazivač završava u oblasti izvan granica bafera. U skladu s tim, kada se pokušava obraditi ulazni niz, dolazi do situacije kada se čitaju podaci iz područja izvan granica dodijeljenog bafera, a pokušaj upisivanja niza bez preklapanja može dovesti do pisanja izvan granica bafera.
U podrazumevanoj konfiguraciji, ranjivost se može iskoristiti slanjem posebno dizajniranih podataka SNI-u prilikom uspostavljanja bezbedne veze sa serverom. Problem se također može iskoristiti modificiranjem peerdn vrijednosti u konfiguracijama konfiguriranim za provjeru autentičnosti certifikata klijenta ili prilikom uvoza certifikata. Napad preko SNI-a i peerdn-a je moguć počevši od izdavanja
Pripremljen je prototip eksploatacije za napad preko SNI, koji radi na i386 i amd64 arhitekturi na Linux sistemima sa Glibc-om. Eksploatacija koristi preklapanje podataka na području hrpe, što rezultira prepisivanjem memorije u kojoj je pohranjeno ime datoteke dnevnika. Ime datoteke se zamjenjuje sa "/../../../../../../../../etc/passwd". Zatim se prepisuje varijabla sa adresom pošiljaoca, koja se prvo pohranjuje u dnevnik, što vam omogućava da dodate novog korisnika u sistem.
Ažuriranja paketa sa ispravkama ranjivosti koje su objavile distribucije
Kao rješenje za blokiranje ranjivosti, možete onemogućiti TLS podršku ili dodati
ACL odjeljak “acl_smtp_mail”:
uslov poricanja = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
poricanje uslov = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
izvor: opennet.ru