problem
Koda, ki kliče string_interpret_escape(), dodeli vmesni pomnilnik za odtok na podlagi dejanske velikosti, izpostavljeni kazalec pa konča v območju izven meja vmesnega pomnilnika. Skladno s tem se pri poskusu obdelave vhodnega niza pojavi situacija pri branju podatkov iz območja zunaj meja dodeljenega vmesnega pomnilnika in poskus zapisovanja neubežnega niza lahko vodi do pisanja prek meja vmesnega pomnilnika.
V privzeti konfiguraciji je ranljivost mogoče izkoristiti s pošiljanjem posebej oblikovanih podatkov SNI pri vzpostavljanju varne povezave s strežnikom. Težavo je mogoče izkoristiti tudi s spreminjanjem vrednosti peerdn v konfiguracijah, konfiguriranih za preverjanje pristnosti potrdila odjemalca, ali pri uvozu potrdil. Napad prek SNI in peerdn je možen od izdaje
Pripravljen je bil prototip izkoriščanja za napad prek SNI, ki deluje na arhitekturah i386 in amd64 v sistemih Linux z Glibc. Izkoriščanje uporablja prekrivanje podatkov na območju kopice, kar povzroči prepisovanje pomnilnika, v katerem je shranjeno ime datoteke dnevnika. Ime datoteke se nadomesti z "/../../../../../../../../etc/passwd". Nato se prepiše spremenljivka z naslovom pošiljatelja, ki se najprej shrani v dnevnik, kar omogoča dodajanje novega uporabnika v sistem.
Posodobitve paketov s popravki ranljivosti, ki jih izdajo distribucije
Kot rešitev za blokiranje ranljivosti lahko onemogočite podporo za TLS ali dodate
Razdelek ACL »acl_smtp_mail«:
zavrni pogoj = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
zavrni pogoj = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Vir: opennet.ru