Se ha publicado una versión corregida de la biblioteca criptográfica OpenSSL 3.0.7, en la que se han solucionado dos vulnerabilidades. Ambos problemas fueron causados por un desbordamiento de búfer en el código de verificación del campo del correo electrónico en los certificados X.509 y, potencialmente, pueden llevar a la ejecución de código al procesar un certificado especialmente diseñado. En el momento de la publicación de la corrección, los desarrolladores de OpenSSL no habían registrado ningún caso de un exploit funcional capaz de llevar a cabo la ejecución de código del atacante.
A pesar de que en el anuncio anticipado de la nueva versión se mencionaba la existencia de un problema crítico, de hecho, en la actualización lanzada, el estado de la vulnerabilidad se redujo al nivel de una vulnerabilidad peligrosa, pero no crítica. De acuerdo con las normas aceptadas en el proyecto, la reducción del nivel de peligrosidad se produce en caso de que el problema se manifieste en configuraciones atípicas o en caso de baja probabilidad de explotación de la vulnerabilidad en la práctica.
En el caso considerado, el nivel de peligrosidad fue reducido, ya que durante un análisis detallado de la vulnerabilidad realizado por varias organizaciones, se concluyó que la posibilidad de ejecución de código durante la explotación está bloqueada por los mecanismos de protección contra desbordamiento de pila aplicados en muchas plataformas. Además, en algunos distribuciones de Linux, la disposición de la red provoca que los bytes que exceden 4 se superpongan con el siguiente búfer en la pila que aún no se utiliza. No obstante, no se descarta que existan otras plataformas en las que la explotación para la ejecución de código sea posible.
Problemas identificados:
- CVE-2022-3602 — una vulnerabilidad inicialmente presentada como crítica, provoca un desbordamiento de búfer de 4 bytes al verificar en el certificado X.509 el campo de un correo electrónico especialmente diseñado. En el cliente TLS, la vulnerabilidad puede ser explotada al conectarse a servidor, controlado por el atacante. En el servidor TLS, la vulnerabilidad puede ser explotada en caso de utilizar autenticación de clientes mediante certificados. En este caso, la vulnerabilidad se manifiesta en la etapa posterior a la verificación de la cadena de confianza asociada con el certificado, es decir, para el ataque, es necesario que la autoridad de certificación haya validado el certificado malicioso del atacante.
- CVE-2022-3786 — otro vector de explotación de la vulnerabilidad CVE-2022-3602, identificado durante el análisis del problema. Las diferencias se reducen a la capacidad de desbordamiento de buffer en la pila por un número arbitrario de bytes que contienen el carácter «.» (es decir, el atacante no puede controlar el contenido del desbordamiento y el problema solo puede ser utilizado para provocar un cierre inesperado de la aplicación).
Las vulnerabilidades se manifiestan únicamente en la rama OpenSSL 3.0.x (el error se introdujo en el código de conversión de Unicode (punycode) añadido en la rama 3.0.x). Las versiones de OpenSSL 1.1.1, así como las bibliotecas derivadas LibreSSL y BoringSSL, no están afectadas por este problema. Al mismo tiempo, se ha lanzado una actualización de OpenSSL 1.1.1s, que contiene únicamente correcciones de errores no relacionadas con la seguridad.
La rama OpenSSL 3.0 se utiliza en distribuciones como Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, Debian Testing/Unstable. Se recomienda a los usuarios de estos sistemas que instalen las actualizaciones lo antes posible (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). En SUSE Linux Enterprise 15 SP4 y openSUSE Leap 15.4, los paquetes de OpenSSL 3.0 están disponibles opcionalmente, mientras que los paquetes del sistema utilizan la rama 1.1.1. Las ramas de OpenSSL 1.x incluyen Debian 11, Arch Linux, Void Linux, Ubuntu 20.04, Slackware, ALT Linux, RHEL 8, OpenWrt, Alpine Linux 3.16 y FreeBSD.
Fuente: opennet.ru
