Vulnerabilidad en EXIM permitiría ejecución remota de código
Un investigador de Devco.re (Meh Chang) reportó el día 5 de febrero el descubrimiento de esta vulnerabilidad en las listas de correo de seguridad de EXIM, identificándose al día siguiente con el CVE-2018-6789, y lanzándose una versión ya parcheada (4.90.1) el día 10 del mismo mes. Según el mismo sitio web de Exim, todas las versiones anteriores a dicha versión deben considerarse obsoletas.
Exim es uno de los servidores de correo electrónico de código abierto más populares, estando disponible tanto para sistemas tipo UNIX como para Windows. Desarrollado por la Universidad de Cambridge en 1995, es en la actualidad el MTA por defecto de Debian y otras distribuciones GNU/Linux.
Fragmento del código vulnerable. Fuente: devco.re |
El fallo descubierto se encontraría en la función ‘b64decode’, utilizada por métodos de autenticación como ‘CRAM-MD5’ (utilizado por defecto). Cualquier método de autenticación que haga uso de dicha función es vulnerable. El fallo sería explotable mediante un base64 inválido especialmente manipulado, el cual provocaría un desbordamiento en el buffer.
La vulnerabilidad se aprovecha del tamaño de buffer que asigna la función, el cual es de ‘3*(len/4)+1’. Normalmente esto no sería un problema, pero si se utiliza un base64 inválido de tamaño ‘4n+3’, la función asignará un tamaño de ‘3n+1’, pero utilizará ‘3n+2’. Esto acaba provocando que el buffer se desborde por un byte. Puede verse más información sobre la explotación de la vulnerabilidad en el artículo escrito por su descubridor.
A día de hoy, no hay una prueba de concepto que explote el fallo, y según puede leerse en la descripción de la vulnerabilidad en la web de EXIM, es difícil que pueda explotarse.
Más información:
https://devco.re/blog/2018/03/06/exim-off-by-one-RCE-exploiting-CVE-2018-6789-en/
CVE-2018-6789:
Powered by WPeMatico