Múltiples vulnerabilidades de OpenSSL en productos OneSpan

ID de aviso vasco-sa-20150413-openssl

Número de revisión 1.0

Fecha de lanzamiento 03 de septiembre de 2015 10:53 AM UTC + 1

Última actualización 03 de septiembre de 2015 10:53 AM UTC + 1

Resumen

El 19 de marzo de 2015, el Proyecto OpenSSL publicó un aviso de seguridad que describe catorce vulnerabilidades en la biblioteca OpenSSL. Las vulnerabilidades se denominan de la siguiente manera:

OpenSSL 1.0.2 ClientHello sigalgs DoS (CVE-2015-0291)

Reclasificado: RSA baja silenciosamente a EXPORT_RSA [Cliente] (CVE-2015-0204)

Puntero dañado multibloque (CVE-2015-0290)

Error de segmentación en DTLSv1_listen (CVE-2015-0207)

Error de segmentación en ASN1_TYPE_cmp (CVE-2015-0286)

Fautl de segmentación para parámetros PSS no válidos (CVE-2015-0208)

ANS.1 estructura reutilizar memort corrupción (CVE-2015-0287)

PKCS7 NULL puntero desreferencias (CVE-2015-0289)

Decodificación Base64 (CVE-2015-0292)

DoS mediante aserción accesible en servidores SSLv2 (CVE-2015-0293)

CKE vacío con autenticación de cliente y DHE (CVE-2015-1787)

Apretón de manos con PRNG sin semillas (CVE_2015-0285)

Use After Free después del error d2i_ECPrivatekey (CVE-2015-0209)

X509_to_X509_REQ NULL puntero deref (CVE-2015-0288)

Varios productos OneSpan incorporan una versión de la biblioteca OpenSSL afectada por una o más vulnerabilidades que podrían permitir que un atacante remoto no autenticado realice un ataque de intermediario, inyecte datos de sesión SSL / TLS o interrumpa la disponibilidad de un servicio.

Productos impactados

Los siguientes productos se ven afectados por una o más de las vulnerabilidades mencionadas anteriormente:

IDENTIKEY Federation Server 1.4, 1.5

Servidor de autenticación IDENTIKEY 3.4 SR1, 3.5, 3.6

Todas las versiones compatibles del dispositivo IDENTIKEY (virtual)

aXsGUARD Gatekeeper 7.7.x, 8.0.0, 8.1.0

Productos afectados

 

Descripción

Las siguientes descripciones de vulnerabilidad se extraen del documento informativo de seguridad de OpenSSL

OpenSSL 1.0.2 ClientHello señala DoS (CVE-2015-0291)

Si un cliente se conecta a un servidor OpenSSL 1.0.2 y renegocia con una extensión de algoritmos de firma no válida, se producirá una desreferencia de puntero NULL. Esto puede ser explotado en un ataque Dos contra el servidor

Reclasificado: RSA baja silenciosamente a EXPORT_RSA [Cliente] (CVE-2015-0204)

Este problema de seguridad fue anunciado previamente por el proyecto OpenSSL y clasificado como "bajo". Esta clasificación de gravedad ahora se ha cambiado a "alta".

Esto se clasificó bajo porque originalmente se pensó que el soporte de cifrado de exportación del servidor RSA era raro: un cliente solo era vulnerable a un ataque MITM contra un servidor que admite un cifrado de exportación RSA. Estudios recientes han demostrado que el soporte de los cifrados de exportación RSA es mucho más común.

Puntero dañado multibloque (CVE-2015-0290)

OpenSSL 1.0.2 introdujo la mejora de rendimiento "multibloque". Esta característica solo se aplica en plataformas de arquitectura x86 de 64 bits que admiten instrucciones AES NI. Un defecto en la implementación de "multiblock" puede hacer que el búfer de escritura interno de OpenSSL se configure incorrectamente en NULL cuando se usa IO sin bloqueo. Por lo general, cuando la aplicación del usuario usa un socket BIO para escribir, esto solo dará como resultado una conexión fallida. Sin embargo, si se usa algún otro BIO, es probable que se active una falla de segmentación, lo que permite un posible ataque DoS.

Error de segmentación en DTLSv1_listen (CVE-2015-0207)

La función DTLSv1_listen está destinada a no tener estado y procesa el ClientHello inicial de muchos pares. Es común que el código de usuario repita la llamada a DTLSv1_listen hasta que se reciba un ClientHello válido con una cookie asociada. Un defecto en la implementación de DTLSv1_listen significa que el estado se conserva en el objeto SSL de una invocación a la siguiente que puede conducir a un error de segmentación. Los errores al procesar el ClientHello inicial pueden desencadenar este escenario. Un ejemplo de dicho error podría ser que un solo cliente DTLS1.0 está intentando conectarse a un solo servidor DTLS1.2.

Error de segmentación en ASN1_TYPE_cmp (CVE-2015-0286)

La función ASN1_TYPE_cmp se bloqueará con una lectura no válida si se intenta comparar los tipos booleanos ASN.1. Dado que ASN1_TYPE_cmp se usa para verificar la coherencia del algoritmo de firma de certificado, esto se puede usar para bloquear cualquier operación de verificación de certificado y explotar en un ataque DoS. Cualquier aplicación que realice la verificación del certificado es vulnerable, incluidos los clientes y servidores OpenSSL que permiten la autenticación del cliente.

Error de segmentación para parámetros PSS no válidos (CVE-2015-0208)

Las rutinas de verificación de firma se bloquearán con una desreferencia de puntero NULL si se presenta con una firma ASN.1 utilizando el algoritmo RSA PSS y parámetros no válidos. Dado que estas rutinas se usan para verificar algoritmos de firma de certificados, esto se puede usar para bloquear cualquier operación de verificación de certificados y explotar en un ataque DoS. Cualquier aplicación que realice la verificación del certificado es vulnerable, incluidos los clientes y servidores OpenSSL que permiten la autenticación del cliente.

Estructura ASN.1 reutilizar corrupción de memoria (CVE-2015-0287)

La reutilización de una estructura en el análisis ASN.1 puede permitir que un atacante provoque daños en la memoria a través de una escritura no válida. Tal reutilización es y ha sido fuertemente desaconsejada y se cree que es rara.
Las aplicaciones que analizan estructuras que contienen componentes CHOICE o CUALQUIER DEFINIDO POR pueden verse afectadas. Sin embargo, el análisis de certificados (d2i_X509 y funciones relacionadas) no se ven afectados. Los clientes y servidores OpenSSL no se ven afectados.

PKCS7 NULL puntero desreferencias (CVE-2015-0289)

El código de análisis PKCS # 7 no maneja correctamente ContentInfo externo faltante. Un atacante puede crear blobs PKCS # 7 codificados en ASN.1 malformados con contenido faltante y desencadenar una desreferencia de puntero NULL en el análisis.
Las aplicaciones que verifican las firmas PKCS # 7, descifran los datos PKCS # 7 o analizan las estructuras PKCS # 7 de fuentes no confiables están afectadas. Los clientes y servidores OpenSSL no se ven afectados.

Decodificación Base64 (CVE-2015-0292)

Existía una vulnerabilidad en versiones anteriores de OpenSSL relacionadas con el procesamiento de datos codificados en base64. Cualquier ruta de código que lea datos de base64 de una fuente no confiable podría verse afectada (como las rutinas de procesamiento de PEM).
Los datos de base 64 mal diseñados pueden desencadenar una falla de segmentación o corrupción de memoria. Esto se abordó en versiones anteriores de OpenSSL pero no se ha incluido en ningún aviso de seguridad hasta ahora.

DoS mediante aserción accesible en servidores SSLv2 (CVE-2015-0293)

Un cliente malintencionado puede desencadenar un OPENSSL_assert (es decir, un aborto) en servidores que admiten SSLv2 y habilitan conjuntos de cifrado de exportación enviando un mensaje CLIENTE-MAESTRO-CLAVE SSLv2 especialmente diseñado

CKE vacío con autenticación de cliente y DHE (CVE-2015-1787)

Si se usa la autenticación del cliente, entonces un servidor puede fallar en caso de que se seleccione un conjunto de cifrado DHE y el cliente envíe un mensaje ClientKeyExchange de longitud cero. Esto podría ser explotado en un ataque DoS.

Apretón de manos con PRNG sin semillas (CVE-2015-0285)

Bajo ciertas condiciones, un cliente OpenSSL 1.0.2 puede completar un protocolo de enlace con un PRNG no sembrado. Las condiciones son: 

El cliente se encuentra en una plataforma donde el PRNG no se ha sembrado automáticamente y el usuario no se ha sembrado manualmente

Se ha utilizado una versión del método del cliente específico del protocolo (es decir, no SSL_client_methodv23)

Se utiliza un conjunto de cifrado que no requiere datos aleatorios adicionales del PRNG más allá del cliente inicial ClientHello aleatorio (p. Ej. PSK-RC4-SHA).

Si el apretón de manos tiene éxito, entonces el cliente aleatorio que se ha utilizado se habrá generado a partir de un PRNG con entropía insuficiente y, por lo tanto, la salida puede ser predecible.

Use After Free después del error d2i_ECPrivatekey (CVE-2015-0209)

Un archivo de clave privada EC con formato incorrecto consumido a través de la función d2i_ECPrivateKey podría causar un uso después de una condición libre. Esto, a su vez, podría causar una doble liberación en varias funciones de análisis de claves privadas (como d2i_PrivateKey o EVP_PKCS82PKEY) y podría provocar un ataque DoS o corrupción de memoria para aplicaciones que reciben claves privadas EC de fuentes no confiables. Este escenario se considera raro.

X509_to_X509_REQ NULL puntero deref (CVE-2015-0288)

La función X509_to_X509_REQ se bloqueará con una desreferencia de puntero NULL si la clave del certificado no es válida. Esta función rara vez se usa en la práctica.

Puntuación de gravedad

Las tablas a continuación indican la puntuación de vulnerabilidad CVSS 2.0 de varias vulnerabilidades.

OpenSSL 1.0.2 ClientHello sigalgs DoS (CVE-2015-0291)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

RSA baja silenciosamente a EXPORT_RSA [Cliente] (CVE-2015-0204)

Puntuación base de CVSS: 4.3

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkMediumNinguno requeridoNingunoParteNinguno

Puntero corrupto multibloque (CVE-2015-0290)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

Error de sementación en DTLSv1_listen (CVE-2015-0207)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

Error de segmentación en ASN1_TYPE_cmp (CVE-2015-0286)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

Error de sementación para parámetros PSS no válidos (CVE-2015-0208)

Puntuación base de CVSS: 4.3

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkMedium: No se requiere ninguno.

Estructura ASN.1 reutilizar corrupción de memoria (CVE-2015-0287)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

PKCS7 NULL puntero desreferencias (CVE-2015-0289)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

Decodificación Base64 (CVE-2015-0292)

Puntuación base de CVSS: 7.5

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredPartialPartialPartial

DoS mediante aserción accesible en servidores SSLv2 (CVE-2015-0293)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

CKE vacío con autenticación de cliente y DHE (CVE-2015-1787)

Puntuación base de CVSS: 2.6

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkHighNone requiredNoneNonePartial

Apretón de manos con PRNG sin semillas (cve-2015-0285)

Puntuación base de CVSS: 4.3

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkMediumNone requiredPartialNoneNone

Use After Free después del error d2i_ECPrivatekey (CVE-2015-0209)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkMedium No se requiere ninguna PartialPartialPartial

X509_to_x509_REQ NULL puntero deref (CVE-2015-0288)

Puntuación base de CVSS: 5.0

Vector de acceso Complejidad de acceso Autenticación Impacto de confidencialidad Impacto de integridad Impacto de disponibilidad

NetworkLowNone requiredNoneNonePartial

Arreglos de productos

OneSpan corregirá estas vulnerabilidades en las próximas versiones de los siguientes productos del lado del servidor:

Dispositivo IDENTIKEY 3.8.9.0

Servidor de autenticación IDENTIKEY 3.8

IDENTIKEY Federation Server 1.6

Para aXsGUARD Gatekeeper 8.2

OneSpan recomienda a los clientes que utilicen IDENTIKEY Authentication Server 3.4 SR1 y 3.5 para actualizar a la versión 3.6. OneSpan recomienda a los clientes que utilicen IDENTIKEY Authentication Server 3.6 para actualizar la biblioteca glibc utilizando el sistema de actualización de su distribución.

Ubicación

Para los productos aXsGUARD Gatekeeper:

OneSpan implementará parches a través del servicio de actualización automatizado. Los clientes que no permiten que su sistema reciba actualizaciones a través de este servicio deben comunicarse con OneSpan para obtener instrucciones sobre cómo obtener el parche.

Para otros productos

Los clientes con un contrato de mantenimiento pueden obtener versiones fijas de productos de MyMaintenance. Los clientes sin contrato de mantenimiento deben comunicarse con su representante de ventas local.

Referencia

https://www.openssl.org/news/secadv_20150319.txt

Nota legal

MIENTRAS QUE CADA ESFUERZO RAZONABLE SE HACE PARA PROCESAR Y PROPORCIONAR INFORMACIÓN QUE ES EXACTA, TODO EL CONTENIDO Y LA INFORMACIÓN EN ESTE DOCUMENTO SE PROPORCIONAN "TAL CUAL" Y "SEGÚN DISPONIBILIDAD", SIN NINGUNA REPRESENTACIÓN O RESPALDO Y SIN NINGUNA GARANTÍA DE MONEDA EXPRESA O IMPLÍCITA, COMPLETIDAD O ADECUACIÓN, O CUALQUIER GARANTÍA, INCLUIDAS LAS GARANTÍAS DE COMERCIABILIDAD O APTITUD PARA UN USO O PROPÓSITO EN PARTICULAR. SU USO DE ESTE DOCUMENTO, CUALQUIER INFORMACIÓN PROPORCIONADA O DE MATERIALES VINCULADOS DE ESTE DOCUMENTO ES BAJO SU PROPIO RIESGO. VASCO SE RESERVA EL DERECHO DE CAMBIAR O ACTUALIZAR LA INFORMACIÓN EN ESTE DOCUMENTO EN CUALQUIER MOMENTO Y A SU DISCRECIÓN, EN CUANTO A CUANDO LA INFORMACIÓN NUEVA O ADICIONAL ESTÉ DISPONIBLE.

Copyright © 2015 VASCO Data Security, Inc., VASCO Data Security International GmbH. Todos los derechos reservados.

🖨 Múltiples vulnerabilidades de OpenSSL en productos VASCO