Ya publican código de exploits para vulnerabilidades de OpenSSL. Parchearlas inmediatamente.

La vulnerabilidad de desbordamiento de búfer de dirección de correo electrónico corregida de OpenSSL (CVE-2022-3602)

El equipo del proyecto OpenSSL finalmente lanzó OpenSSL v3.0.7 para corregir una actualización de seguridad crítica de la cual el equipo de OpenSSL advirtió a todos los usuarios el 25 de octubre. 

Inicialmente, el equipo no ha compartido muchos detalles sobre la vulnerabilidad, pero menciona que este parche es para una nueva vulnerabilidad crítica que afecta a OpenSSL versión 3.x.

Novedades en OpenSSL v3.0.7

De acuerdo con la actualización de ChangeLog de OpenSSL 3.0.7, la última versión tiene tres cambios, incluida una solución para dos vulnerabilidades de desbordamiento de búfer.

  • Se agregó RIPEMD160 al proveedor predeterminado.
  • Las regresiones fijas se introducen en la versión 3.0.6.
  • Se corrigieron dos desbordamientos de búfer en las funciones de decodificación de punycode. ( CVE-2022-3786]  y (CVE-2022-3602)

Acerca de las vulnerabilidades

De acuerdo con el aviso de seguridad, el equipo de OpenSSL ha corregido dos vulnerabilidades de desbordamiento de búfer de alta gravedad que afectan a las versiones 3.0.0 a 3.0.6 de OpenSSL . 

  1. Desbordamiento de búfer de 4 bytes de dirección de correo electrónico (CVE-2022-3602)
  2. Desbordamiento de búfer de longitud variable de dirección de correo electrónico (CVE-2022-3786)

Polar Bear descubrió e informó la primera vulnerabilidad CVE-2022-3602 el 17 de octubre de 2022. Este fue el mismo problema que el equipo de OpenSSL marcó como Crítico e hizo un anuncio previo de la vulnerabilidad. Más tarde, un análisis más profundo de algunos de los factores atenuantes llevó a que se degradara a ALTO.

Desbordamiento de búfer de 4 bytes de dirección de correo electrónico (CVE-2022-3602): se puede desencadenar un desbordamiento de búfer en la verificación del certificado X.509, específicamente en la verificación de restricciones de nombre. Tenga en cuenta que esto ocurre después de la verificación de la firma de la cadena de certificados y requiere que una CA haya firmado el certificado malicioso o que la aplicación continúe con la verificación del certificado a pesar de no poder construir una ruta a un emisor confiable. 

Un atacante puede crear una dirección de correo electrónico maliciosa para desbordar cuatro bytes controlados por el atacante en la pila. Este desbordamiento de búfer podría provocar un bloqueo (lo que provocaría una denegación de servicio) o una posible ejecución remota de código.

Muchas plataformas implementan protecciones de desbordamiento de pila que mitigarían el riesgo de ejecución remota de código. El riesgo puede mitigarse aún más en función del diseño de la pila para cualquier plataforma/compilador determinado.

La segunda vulnerabilidad fue descubierta por Viktor Dukhovni mientras investigaba CVE-2022-3602 el 18 de octubre de 2022. Esto también se clasifica como un problema de gravedad alta.

Desbordamiento de búfer de longitud variable de dirección de correo electrónico (CVE-2022-3786): se puede desencadenar un desbordamiento de búfer en la verificación del certificado X.509, específicamente en la verificación de restricciones de nombre. Tenga en cuenta que esto ocurre después de la verificación de la firma de la cadena de certificados y requiere que una CA haya firmado un certificado malicioso o que una aplicación continúe con la verificación del certificado a pesar de no poder construir una ruta a un emisor confiable. Un atacante puede crear una dirección de correo electrónico maliciosa en un certificado para desbordar una cantidad arbitraria de bytes que contengan el archivo ` ‘ carácter (decimal 46) en la pila. Este desbordamiento de búfer podría provocar un bloqueo (provocando una denegación de servicio).

¿Quiénes están afectados?

Los usuarios que utilizan OpenSSL versiones 3.0.0 a 3.0.6 son vulnerables a las vulnerabilidades mencionadas anteriormente. OpenSSL 1.1.1 y 1.0.2 no se ven afectados por el problema.

OpenSSL 3.0.7 cierra la vulnerabilidad que existe en las versiones 3.0.0 a 3.0.6. Las versiones anteriores a OpenSSL 3.0.0, lanzadas en septiembre de 2021, no se ven afectadas por la vulnerabilidad. Los administradores de la versión actual 1.1.1 o 1.0.2 de la biblioteca OpenSSL, por lo tanto, no necesitan activarse.

Mitigación

Como ambas vulnerabilidades están clasificadas con gravedad alta, recomendamos encarecidamente que todos los usuarios de OpenSSL 3.0 actualicen a OpenSSL 3.0.7.

Puede descargar la última versión de OpenSSL o consultar las notas específicas sobre la actualización a OpenSSL 3.0 desde versiones anteriores en la Guía de migración de OpenSSL .

Código de explotación liberado para la vulnerabilidad de OpenSSL

Mientras tanto, el laboratorio de seguridad de DataDog ha publicado la publicación de blog detallada junto con el código de prueba de concepto (PoC) para bloquear una implementación de Windows de versiones vulnerables. Con respecto al entorno del sistema Linux, señalaron que las implementaciones de Linux pueden ser potencialmente vulnerables.  

“Algunos tiempos de ejecución de aplicaciones, como Node.js, incorporan su propia versión de OpenSSL y también deben actualizarse”, señalaron.

El laboratorio de seguridad de DataDog pudo demostrar que la vulnerabilidad se puede explotar para desencadenar una condición de denegación de servicio (DoS) en las siguientes plataformas:

  • Windows de 64 bits – OpenSSL 3.0.6 – Compilación fuente (configuración predeterminada)
  • Windows de 32 bits – OpenSSL 3.0.6 – Compilación fuente (configuración predeterminada)

Esto fue muy rápido ya que una hora después de la revelación de las vulnerabilidades, el 

código de explotación se publicó en GitHub . Puede encontrar el código de explotación de PoC en [ 1 ] y [ 2 ].

Choque HeartBleed 2.0

Como el equipo de OpenSSL le ha dado a un problema una calificación CRÍTICA en el anuncio previo de la vulnerabilidad. Hubo rumores sobre la vulnerabilidad HeartBleed 2.0. 

Inicialmente, en 2014 se revelaron vulnerabilidades de gravedad crítica denominadas HeartBleed que preocupaban a los administradores de Internet de todo el mundo. 

Heartbleed tuvo un impacto significativo en todos los equipos de operaciones en todo el mundo y, desde entonces, la infraestructura de TI se ha vuelto diez veces más complicada. El vector de ataque se ha vuelto mucho más grande y, en lugar de solo tener que examinar sus máquinas virtuales, las organizaciones deben comenzar a prepararse para parchear todas las imágenes de sus contenedores en respuesta a este anuncio.

Desde entonces, el proyecto OpenSSL decidió anunciar vulnerabilidades críticas con un aviso de aproximadamente una semana. Esto permite que las partes potencialmente afectadas se preparen para descargar e instalar rápidamente las actualizaciones cuando estén disponibles.