jueves, 5 de junio de 2014

OpenSSL corrige nuevas vulnerabilidades graves

Cuando aun siguen escuchándose los ecos de heartbleed, el proyecto OpenSSL acaba de publicar un boletín advirtiendo de la corrección de siete nuevas vulnerabilidades que afectarían a la implementación de los protocolos SSL, TLS y DTLS. Los problemas anunciados, entre otros efectos, podrían permitir la realización de ataques de hombre en el medio (Man-In-The-Middle) o la ejecución remota de código arbitrario.

El primero de los problemas, con CVE-2014-0224, está considerado como crítico al permitir la realización de ataques de hombre en el medio. El problema reside en OpenSSL acepta ChangeCipherSpec (CCS) de forma inadecuada durante el establecimiento de sesión. Este problema existe desde la primera versión de OpenSSL.

Para explotar este problema tanto el cliente como el servidor deben ser vulnerables, Los clientes OpenSSL son vulnerables en todas sus versiones, sin embargo solo OpenSSL 1.0.1 (y 1.0.2-beta1) es vulnerable en versiones servidor.

Este problema fue descubierto por Masashi Kikuchi (Lepidum Co. Ltd.) y comunicado a OpenSSL el 1 de mayo a través del JPCERT/CC. Kikuchi ha publicado una explicación sobre el descubrimiento de esta vulnerabilidad. Según han comunicado esta vulnerabilidad es de gravedad, ya que permite a un atacante malicioso interceptar datos cifrados y descifrarlos al forzar a los clientes SSL a emplear claves débiles expuestas al atacante.
"This vulnerability allows malicious intermediate nodes to intercept encrypted data and decrypt them while forcing SSL clients to use weak keys which are exposed to the malicious nodes."

También se considera de gravedad una vulnerabilidad de desbordamiento de búfer (con CVE-2014-0195), que podría permitir la ejecución remota de código arbitrario en clientes o servidores. El problema reside en el tratamiento de fragmentos DTLS inválidos por un cliente o servidor DTLS.

Otros problemas residen en un fallo de recursión DTLS (CVE-2014-0221) que podría permitir la realización de ataques de denegación de servicio. Una dereferencia de puntero nulo (CVE-2014-0198) en versiones OpenSSL 1.0.0 y 1.0.1 cuando SSL_MODE_RELEASE_BUFFERS esté activo, que también permitiría la realización de ataques de denegación de servicio.

Una condición de carrera podría permitir la inyección de datos entre sesiones o provocar denegaciones de servicio. Este fallo solo afecta a aplicaciones multihilo que hagan uso de OpenSSL 1.0.0 y 1.0.1 cuando SSL_MODE_RELEASE_BUFFERS esté activo.

Los clientes OpenSSL TLS que permiten suites de cifrado ECDH puedan ser afectados por ataques de denegación de servicio (CVE-2014-3470). Por último, también se incluye la corrección para la vulnerabilidad CVE-2014-0076, descrita en el documento "Recovering OpenSSL ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack", que ya fue previamente solucionado en OpenSSL 1.0.1g.

Los usuarios de OpenSSL 0.9.8 deben actualizar a 0.9.8za, los usuarios de OpenSSL 1.0.0 deben actualizar a la versión 1.0.0m y los usuarios de OpenSSL 1.0.1 deben actualizar a 1.0.1h.

Más información:

una-al-dia (08/04/2014) OpenSSL afectada por una vulnerabilidad apodada Heartbleed

OpenSSL Security Advisory [05 Jun 2014]

How I discovered CCS Injection Vulnerability (CVE-2014-0224)

Early ChangeCipherSpec Attack (05 Jun 2014)

Recovering OpenSSL ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack


Antonio Ropero
Twitter: @aropero

No hay comentarios:

Publicar un comentario en la entrada