Vulnerabilidad en EXIM permitirí­a ejecución remota de código

La vulnerabilidad se encuentra presente desde la primera versión de EXIM y afectarí­a al menos a 400 mil servidores que ejecutan este servidor de correo.

exim_logo.png

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.

Screenshot.png

Fragmento del código vulnerable.


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.

Fuente: hispasec.com

Compartir: