Enlaces rápidos
**Actualizaciones**
2022-11-01
Ya están disponibles los detalles de dos vulnerabilidades de alta gravedad parcheadas en la versión 3.0.7 de OpenSSL(CVE-2022-3786, CVE-2022-3602). Ambas son desbordamientos de búfer en el proceso de verificación de certificados X.509, "concretamente en la comprobación de restricciones de nombres " .
La primera, CVE-2022-3786, permite a un atacante "crear una dirección de correo electrónico maliciosa en un certificado para desbordar un número arbitrario de bytes que contengan el carácter `.`". El segundo, CVE-2022-3602, es similar, pero en este caso, una amenaza podría "crear un correo electrónico malicioso para desbordar cuatro bytes controlados por el atacante en la pila". Esto podría provocar una denegación de servicio o la ejecución remota de código.
Aunque tanto los servidores como los clientes OpenSSL son vulnerables a este ataque, es más probable que un atacante explote a un cliente que un cliente explote a un servidor. Pero en servidores configurados con autenticación bidireccional en los que ambos lados de la conexión intercambian y verifican certificados, es posible que un cliente pueda explotar un servidor enviando un certificado malicioso o malformado.
Y aunque este tipo de configuración es poco frecuente, no es imposible. Pero incluso con un ataque exitoso, muchas otras variables, como los sistemas antidesbordamiento de búfer como los canarios de pila y ASLR (Address Space Layout Randomization), entran en escena para frustrar la explotación.
Debido a esta complejidad y a las salvaguardas del sistema, los desarrolladores de OpenSSL redujeron la criticidad de la CVE de CRÍTICA a ALTA.
Si está utilizando las versiones 3.0.0-3.0.6 de OpenSSL, le recomendamos que actualice a la versión más reciente de OpenSSL (actualmente 3.0.7) para protegerse de posibles ataques.
Introducción
OpenSSL es una biblioteca de software que permite a las aplicaciones comunicarse de forma segura con otras aplicaciones en red utilizando una amplia variedad de funciones criptográficas. Esta biblioteca está muy extendida en Internet y es una parte fundamental de la infraestructura de muchas organizaciones. Teniendo esto en cuenta, el equipo de OpenSSL advirtió el pasado martes a todos los usuarios de que se había identificado una vulnerabilidad crítica en la base de código de OpenSSL. Esto es bastante importante, ya que la última vez que tuvimos un fallo de esta criticidad fue allá por 2014 con la ahora infame vulnerabilidad Heartbleed(CVE-2014-0160), que todavía nos persigue hoy en día.
Aunque no tenemos detalles específicos sobre esta vulnerabilidad, múltiples fuentes han afirmado que la vulnerabilidad sólo afecta a la versión 3.0.0 y superiores de OpenSSL (el software que utiliza OpenSSL 1.0.2 o 1.1.1 no está afectado). La 3.x es una versión relativamente nueva de OpenSSL, que se lanzó en septiembre de 2021. Dado que esta versión lleva poco tiempo en el mercado, la adopción generalizada parece haber sido mínima. Pero, una vez que esta vulnerabilidad ha sido revelada públicamente y las nuevas versiones salen a la luz, los administradores que ejecutan la versión 3.0.0 o superior deben actualizar inmediatamente a la versión corregida de 3.0.7.
Identificación de versiones vulnerables de OpenSSL
Determinar si un host es vulnerable a este fallo aún no está claro, ya que no disponemos de todos los detalles. Sin embargo, podemos fijarnos en los servicios de Internet que anuncian qué versión específica de OpenSSL están ejecutando para hacernos una idea general de lo que será vulnerable. Actualmente no conocemos ninguna técnica aparte de comprobar las cabeceras HTTP para determinar la versión exacta de OpenSSL que se está utilizando, pero seguimos investigando alternativas. Esto significa que, aunque podemos ver muchos servidores potencialmente vulnerables, no tenemos conocimiento de todos ellos, y las estadísticas de este post son los límites inferiores de lo que existe.
Por suerte, algunos servidores de Internet, como Apache, ofrecen información que nos permite saber qué versiones específicas de OpenSSL se están utilizando. Por ejemplo, en la siguiente salida, vemos que Apache ha añadido todos sus módulos cargados en la salida de la cabecera "Servidor". Uno de ellos es la versión de OpenSSL con la que se compiló el módulo mod_ssl: