problema
El código que llama a string_interpret_escape() asigna un búfer para el drenaje según el tamaño real, y el puntero expuesto termina en un área fuera de los límites del búfer. En consecuencia, al intentar procesar una cadena de entrada, surge una situación cuando se leen datos de un área fuera de los límites del búfer asignado, y un intento de escribir una cadena sin escape puede llevar a escribir más allá de los límites del búfer.
En la configuración predeterminada, la vulnerabilidad se puede explotar enviando datos especialmente diseñados a SNI al establecer una conexión segura con el servidor. El problema también se puede aprovechar modificando los valores de peerdn en las configuraciones configuradas para la autenticación de certificados del cliente o al importar certificados. El ataque a través de SNI y peerdn es posible a partir del lanzamiento
Se ha preparado un prototipo de exploit para un ataque vía SNI, ejecutándose en arquitecturas i386 y amd64 en sistemas Linux con Glibc. El exploit utiliza la superposición de datos en el área del montón, lo que sobrescribe la memoria en la que se almacena el nombre del archivo de registro. El nombre del archivo se reemplaza por "/../../../../../../../../etc/passwd". A continuación, se sobrescribe la variable con la dirección del remitente, que primero se guarda en el registro, lo que le permite agregar un nuevo usuario al sistema.
Actualizaciones de paquetes con correcciones de vulnerabilidades publicadas por distribuciones
Como solución alternativa para bloquear la vulnerabilidad, puede desactivar la compatibilidad con TLS o agregar
Sección ACL “acl_smtp_mail”:
condición de denegación = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
condición de denegación = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Fuente: opennet.ru