Exim ha publicado actualizaciones de seguridad para abordar un problema de seguridad grave que afecta a ciertas configuraciones y que podría permitir la corrupción de la memoria y la posible ejecución de código.
Exim es un agente de transferencia de correo (MTA) de código abierto diseñado para sistemas tipo Unix para recibir, enrutar y entregar correo electrónico.
La vulnerabilidad, rastreada como CVE-2026-45185, también conocida como Dead.Letter, se ha descrito como una vulnerabilidad de uso después de la liberación en el análisis del cuerpo del mensaje de transmisión de datos binarios (BDAT) de Exim cuando GnuTLS maneja una conexión TLS.
«La vulnerabilidad se activa durante el manejo del cuerpo del mensaje BDAT cuando un cliente envía una alerta TLS close_notify antes de que se complete la transferencia del cuerpo, y luego sigue con un byte final en texto sin cifrar en la misma conexión TCP», dijo Exim en un aviso publicado hoy.
«Esta secuencia de eventos puede hacer que Exim escriba en un buffer de memoria que ya ha sido liberado durante la desconexión de la sesión TLS, lo que lleva a la corrupción del montón. Un atacante sólo necesita poder establecer una conexión TLS y usar la extensión SMTP CHUNKING (BDAT). «
El problema afecta a todas las versiones de Exim desde 4.97 hasta 4.99.2 inclusive. Dicho esto, solo afecta a las compilaciones que usan USE_GNUTLS=yes, lo que significa que las compilaciones que dependen de otras bibliotecas TLS como OpenSSL no se ven afectadas.
A Federico Kirschbaum, jefe del Laboratorio de Seguridad de XBOW, una plataforma autónoma de pruebas de ciberseguridad, se le atribuye el mérito de descubrir e informar la falla el 1 de mayo de 2026.
«Durante el cierre de TLS, Exim libera su búfer de transferencia TLS, pero un contenedor de recepción BDAT anidado aún puede procesar bytes entrantes y terminar llamando a ungetc(), que escribe un solo carácter (n) en la región liberada», dijo Kirschbaum. «Esa escritura de un byte aterriza en los metadatos del asignador de Exim, corrompiendo la forma interna del asignador; luego el exploit aprovecha esa corrupción para obtener más primitivos».
XBOW describió la vulnerabilidad como «uno de los errores de mayor calibre» descubiertos en Exim hasta la fecha, y agregó que activarla casi no requiere configuración especial en el servidor.
La deficiencia se solucionó en la versión 4.99.3. Se recomienda a todos los usuarios que actualicen lo antes posible. No existen mitigaciones que resuelvan la vulnerabilidad.
«La solución garantiza que la pila de procesamiento de entrada se restablezca limpiamente cuando se recibe una notificación de cierre TLS durante una transferencia BDAT activa, evitando que se utilicen los punteros obsoletos», señaló Exim.
Esta no es la primera vez que se revelan errores críticos de uso después de la liberación en Exim. A finales de 2017, Exim parchó una vulnerabilidad de uso después de la liberación en el demonio SMTP (CVE-2017-16943, puntuación CVSS: 9,8) que atacantes no autenticados podrían haber aprovechado para lograr la ejecución remota de código mediante comandos BDAT especialmente diseñados y tomar el control del servidor de correo electrónico.