Sobre la vulnerabilidad más grave

El bug más grave fue identificado con el código CVE-2016-0701 y afectaba a la versión 1.0.2 de OpenSSL. Se aprovechaba de los problemas en la implementación del algoritmo Diffie-Hellman, muy utilizado en el intercambio de claves de cifrado sobre canales no confiables. Esto permite a protocolos como HTTPS, SSH, SMPTS e IPsec poder negociar una clave secreta y crear una conexión segura.

Las aplicaciones generaban una clave efímera basada únicamente en números primos “seguros”, pero los servidores que hacían esto utilizaban siempre los mismos números primos por defecto, abriendo la puerta a los ataques de recuperación de claves.

El fallo se podía explotar realizando múltiples conexiones a un servidor vulnerable y buscar la clave Diffie-Hellman privada del servidor TLS, algo que se podía hacer en caso de que el servidor estuviese reutilizando la misma clave privada o un conjunto de cifrado Diffie-Hellman estático.

OpenSSL tiene la opción SSL_OP_SINGLE_DH_USE que permite generar claves Diffie-Hellman efímeras, aunque por defecto está desactivada, haciendo que el servidor utilice siempre el mismo exponente privado y volviéndolo vulnerable a los ataques de recuperación de claves.

Sobre la vulnerabilidad menos grave

La vulnerabilidad menos grave tiene como código CVE-2015-3197, y afecta a las versiones 1.0.2 y 1.0.1 de OpenSSL.

Básicamente permitía a los atacantes forzar conexiones SSLv3 a través del más débil cifrado SSLv2. A pesar de que el cifrado SSLv2 estaba desactivado, el servidor seguía negociando con este al menos que la opción SSL_OP_NO_SSLv2 estuviese desactivada. Esto permitía a un atacante poder realizar conexiones SSLv2 no seguras.

Se ha mejorado la defensa contra Logjam

Logjam fue una vulnerabilidad que afectada al intercambio de claves Diffie-Hellman. Las últimas versiones de OpenSSL han sido reforzadas contra esta, al incrementar el límite mínimo para generar claves de 768 bits a 1.024 bits.

¿A qué versiones hay que actualizar?

Para corregir estos errores, hay que actualizar a las versiones 1.0.1r o 1.0.2f de OpenSSL, dependiendo de la versión que se esté usando corresponde una u otra actualización.

Aquellos que utilicen OpenSSL procedente de los repositorios de una distribución Linux ya han empezado a recibir la correspondiente actualización.

 

Fuente: muyseguridad