Skip to content

OpenSSL corrige vulnerabilidades descubiertas mediante Google OSS-Fuzz

OpenSSL corrige vulnerabilidades descubiertas mediante Google OSS-Fuzz

OpenSSL ha liberado dos parches para corregir sendas vulnerabilidades de tipo medio y bajo en su estandar de cifrado y transporte seguro de comunicaciones. La vulnerabilidad de tipo medio está recogida en CVE-2017-3736 y ha sido parcheada en la versión OpenSSL 1.1.0g y 1.0.2m.

Dicha vulnerabilidad está basada en un fallo en el procedimiento de «encuadrado» x86_64 Montgomery y afecta a procesadores con soporte de instrucciones BMI1, BMI2 y ADX, o lo que es lo mismo: Intel Broadwell de 5ª generación y posteriores, así como AMD Ryzen.

Vulnerabilidades halladas en OpenSSL mediante OSS-Fuzz

Un atacante podría explotar este fallo para recuperar las claves de cifrado y así tener acceso a comunicaciones protegidas por SSL. En la nota que ha publicado el desarrollador al respecto se deja claro que los algoritmos EC no han sido afectados:

El análisis sugiere que los ataques hacia RSA y DSA como consecuencia de este defecto serían difíciles de realizar y por tanto poco probables. Ataques contra DH (Diffie-Hellman) son considerados posibles (aunque difíciles) dado que la mayoría del trabajo necesario para deducir información sobre una clave privada debería ser realizado offline.

El equipo de desarrollo también piensa que aprovechar la vulnerabilidad en un escenario real es complicado por el esfuerzo que requiere. No obstante, los que nos movemos en esta industria sabemos de sobra que las probabilidades no impiden que algo pueda tener lugar, así que conviene parchear este software.

Ataque posible contra openSSL, aunque costoso

La cantidad de recursos que requiere un ataque de este tipo en situaciones reales sería muy elevado y por tanto solo gobiernos, grupos organizados y actores limitados podrían llegar a lograrlo. El atacante necesitaría además acceso a un sistema sin parchear que utilice la clave privada objetivo del ataque, en conjunción con parámetros DH y una clave privada que sea compartida entre múltiples clientes.

El advisory CVE-2017-3736 es similar al CVE-2015-3193 ya corregido en Diciembre de 2016 o al CVE-2017-3732 corregido en Enero.

Las otras vulnerabilidades

La segunda vulnerabilidad es recoge en CVE-2017-3735 y ha sido parcheada con las mismas versiones de OpenSSL antes comentadas, siendo de baja severidad. En este caso dicho problema existe desde 2006 y el código fuente para repararlo fue publicado en Agosto. Este fallo podría derivar en una lectura OOB (out-of-bounds o fuera de límites).

Si un certificado X.509 tiene una extensión IPAddressFamily mal formada, OpenSSL podría realizar una sobre-lectura de buffer de un byte. Esto podría derivar en una muestra errónea de un certificado en formato texto. Al ser un problema de bajo impacto, no se hace ningún lanzamiento adicional, sino que se puede hallar el código para repararlo en Github.

El fallo fue descubierto por el proyecto OSS-Fuzz de Google en Agosto. El fix fue publicado por Rich Salz, miembro del equipo de desarrollo de OpenSSL.

“This issue was found by Google’s OSS-Fuzz project on August 22. The fix was developed by Rich Salz of the OpenSSL development team.”

Acerca de Google OSS-Fuzz

La herramienta de Google para realizar fuzzing (o lo que es lo mismo, lanzar datos aleatorios contra estándares y aplicaciones de forma masiva para buscar fallos) ha demostrado una vez más su importancia para conseguir sistemas más seguros.

oss-fuzz Google

Este sistema combina varios motores de fuzzing (inicialmente libFuzzer) con «sanitizadores» (inicialmente, AddressSanitizer) y provee un entorno distribuído para ejecución masiva, alimentado con .

deweloper View All

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja un comentario