Nuevas vulnerabilidades de OpenSSL abordadas por KernelCare Enterprise
Los parches para las vulnerabilidades de OpenSSL descubiertas recientemente ya están disponibles a través de KernelCare Enterprise de TuxCare, que, para algunas distribuciones, hemos publicado antes de que las actualizaciones suministradas por el proveedor hayan estado disponibles. Siga leyendo para obtener más información sobre cada vulnerabilidad.
Con KernelCare Enterprise, obtendrá parches de seguridad activos para el núcleo de Linux y, a través de su componente LibCare, también obtendrá parches activos para bibliotecas críticas del sistema, como glibc y OpenSSL.
Ambos son objetivos atractivos para los actores de amenazas, pero también componentes muy problemáticos de parchear si no se utiliza un enfoque de parcheado en vivo, ya que las actualizaciones de seguridad tradicionales para cualquiera de ellos requerirán un reinicio adicional del sistema o, como mínimo, reinicios de servicio, para completarse.
Cuando se confía en OpenSSL para garantizar que las comunicaciones cifradas, los certificados y otras tareas criptográficas se realizan de forma segura, siempre existe la preocupación de que aparezcan nuevas vulnerabilidades. Para mantener sus sistemas protegidos, como hemos hecho muchas otras veces en el pasadoel equipo de KernelCare trabaja incansablemente para ofrecerle las últimas actualizaciones en este tipo de situaciones.
Asesoría
El 7 de febrero, el equipo de OpenSSL reveló públicamente información sobre cuatro nuevas vulnerabilidades que afectan a la rama OpenSSL 1.x (CVE-2023-0286, CVE-2023-0215, CVE-2022-4304 y CVE-2023-4450). Su riesgo oscila entre Moderado y Alto. Esta rama de OpenSSL es la más extendida en las distribuciones Linux para empresas.
Los usuarios de KernelCare Enterprise que ejecutan CentOS7/Oracle EL7/Cloud Linux 7/RHEL7, CentOS8/Oracle EL8/Cloud Linux 8/RHEL 8/RockyLinux 8/AlmaLinux 8, Amazon2, Debian10, Ubuntu-Bionic y Ubuntu-Focal ya disponen de parches para solucionar estas vulnerabilidades. En breve se publicarán parches para otros sistemas compatibles, y este artículo se actualizará cuando esto ocurra.
Es importante señalar que los parches se publican antes que algunas de las actualizaciones periódicas de la distribución de Linux, por lo que sus sistemas estarán protegidos no sólo sin interrupciones, sino también más rápidamente que con las actualizaciones tradicionales suministradas por el proveedor. En ocasiones, los proveedores de distribuciones de Linux tardan más de lo deseable en poner a disposición de sus usuarios los paquetes actualizados.
Otras distribuciones, como RHEL 7 (y sus derivados) están afectadas, pero no recibirán parches del proveedor en absoluto, ya que caen bajo el "fuera del ámbito de soporte" del proveedor.
Seguirá recibiendo esas actualizaciones a través de LibCare de TuxCare, ya que nuestro equipo de desarrollo ha retroportado el código corregido directamente desde el código de OpenSSL.
Una mirada más de cerca a las vulnerabilidades
Como ya se ha mencionado, OpenSSL permite realizar muchas tareas relacionadas con la criptografía, como la firma, el análisis y la validación de certificados. Se descubrió que al crear un certificado con un tipo específico de valor (una dirección dirección X.400) dentro de un certificado X.509 GeneralName, un atacante podía forzar a una aplicación a leer contenidos específicos de la memoria. A su vez, esto podría conducir a la divulgación de información o a una denegación de servicio (al bloquearse la aplicación).
Aunque los resultados de un exploit exitoso son peligrosos, no hay indicios de uso activo "in the wild", y la configuración del ataque implica un enrevesado conjunto de pasos y un uso particular en el lado de la aplicación.
OpenSSL proporciona funcionalidades de tipo stream a las aplicaciones, a nivel de código, con una abstracción denominada "BIO." Es similar en concepto a un "FILE *" en C, y permite a un desarrollador confiar en la funcionalidad de cifrado de una manera transparente, con las funciones criptográficas subyacentes a veces difíciles de entender ocultas dentro de OpenSSL.
"BIO_nuevo_NDEF" es una función de ayuda utilizada para transmitir DATOS datos. La forma en que diferentes funciones "BIO" podrían encadenarse para proporcionar funcionalidad de alto nivel (por ejemplo, recibir->descifrar->copiar->cifrar) podría ser abusada disparando un resultado NULL desde "BIO_new_NDEF" y rompiendo la cadena inesperadamente. En este escenario, habría un use-after-free y la aplicación podría bloquearse (o peor, quedar en un estado indefinido).
Muchas funciones de cara al público en OpenSSL llamarán internamente a la función afectada, y como tal, la superficie de ataque es mucho mayor que una sola función rota.
Los ataques de canal lateral se basan en comportamientos observables no necesariamente ligados al código atacado, sino más bien en características, como que una operación determinada tarde más o menos en ejecutarse, que utilice más o menos memoria, o configuraciones particulares de un entorno determinado, para inferir alguna información oculta.
Se descubrió que era posible recuperar información en texto plano de forma remota enviando un gran número de mensajes para su descifrado y midiendo el tiempo de procesamiento de dichos mensajes. Sería posible deducir los valores primos utilizados en un protocolo de enlace TLS que utiliza cifrado RSA (la revelación de OpenSSL compara esto con un "ataque Bleichenbacher").
Cabe destacar que la información inicial sobre una posible oportunidad de canal lateral de sincronización se presentó ya en julio de 2020, y solo ahora se ha reducido y solucionado el problema.
Tratar con cualquier tipo de entrada controlada por el usuario es siempre arriesgado para una aplicación, ya que los actores maliciosos pueden crear entradas elaboradas que abusen de código específico y conduzcan a resultados inesperados. De nuevo en la parte de procesamiento de certificados de OpenSSL, un certificado codificado con PEM especialmente diseñado con 0 bytes de datos de carga útil podría activar un error de uso después de la liberación y probablemente provocar un bloqueo de la aplicación (y la consiguiente denegación de servicio).
Este tipo de comprobación es muy común en aplicaciones y servicios, así como directamente en las utilidades de línea de comandos suministradas por OpenSSL.
Sistemas seguros más rápidos y fiables
KernelCare Enterprise, a través de LibCare, proporciona las actualizaciones necesarias para mantener la seguridad del sistema en situaciones críticas, en las que cualquier retraso, como esperar a una ventana de mantenimiento, es demasiado largo de tolerar. Aunque tradicionalmente preferimos utilizar correcciones específicas de las distribuciones, cuando éstas tardan en reaccionar, proporcionamos la corrección a nuestros clientes.
Con KernelCare Enterprise, puede estar seguro de que rastreamos las amenazas más recientes y le proporcionamos las defensas adecuadas para consolidar su postura de seguridad y cumplimiento, todo ello manteniendo la disponibilidad de la empresa sin interrupciones.