problema
O código que chama a string_interpret_escape() asigna un búfer para o drenaxe en función do tamaño real e o punteiro exposto acaba nunha área fóra dos límites do búfer. En consecuencia, ao tentar procesar unha cadea de entrada, xorde unha situación ao ler datos dunha área fóra dos límites do búfer asignado e un intento de escribir unha cadea sen escape pode levar a escribir máis aló dos límites do búfer.
Na configuración predeterminada, a vulnerabilidade pódese explotar enviando datos especialmente deseñados a SNI cando se establece unha conexión segura co servidor. O problema tamén se pode explotar modificando os valores peerdn nas configuracións configuradas para a autenticación de certificados de clientes ou ao importar certificados. O ataque a través de SNI e peerdn é posible a partir do lanzamento
Preparouse un prototipo de exploit para un ataque a través de SNI, que se executa en arquitecturas i386 e amd64 en sistemas Linux con Glibc. O exploit usa a superposición de datos na área do montón, polo que se sobrescribe a memoria na que se almacena o nome do ficheiro de rexistro. O nome do ficheiro substitúese por "/../../../../../../../../etc/passwd". A continuación, sobrescríbese a variable co enderezo do remitente, que primeiro se garda no rexistro, o que permite engadir un novo usuario ao sistema.
Actualizacións de paquetes con correccións de vulnerabilidades publicadas polas distribucións
Como solución alternativa para bloquear a vulnerabilidade, pode desactivar o soporte TLS ou engadir
Sección ACL "acl_smtp_mail":
condición de denegación = ${se eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
condición de denegación = ${se eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Fonte: opennet.ru