Desbordamiento de búfer en OpenSSL explotado al verificar certificados X.509

Se ha publicado una versión correctiva de la biblioteca criptográfica OpenSSL 3.0.7, que corrige dos vulnerabilidades. Ambos problemas se deben a desbordamientos del búfer en el código de validación del campo de correo electrónico en los certificados X.509 y pueden provocar la ejecución de código al procesar un certificado especialmente enmarcado. En el momento de la publicación de la solución, los desarrolladores de OpenSSL no habían registrado ninguna evidencia de la presencia de un exploit funcional que pudiera conducir a la ejecución del código del atacante.

A pesar de que el anuncio previo al lanzamiento de la nueva versión mencionaba la presencia de un problema crítico, de hecho, en la actualización publicada el estado de la vulnerabilidad se redujo al nivel de vulnerabilidad peligrosa, pero no crítica. De acuerdo con las reglas adoptadas en el proyecto, el nivel de peligro se reduce si el problema se manifiesta en configuraciones atípicas o si existe una baja probabilidad de explotación de la vulnerabilidad en la práctica.

En este caso, el nivel de gravedad se redujo porque un análisis detallado de la vulnerabilidad realizado por varias organizaciones concluyó que la capacidad de ejecutar código durante la explotación estaba bloqueada por mecanismos de protección de desbordamiento de pila utilizados en muchas plataformas. Además, el diseño de cuadrícula utilizado en algunas distribuciones de Linux hace que los 4 bytes que se salen de los límites se superpongan en el siguiente búfer de la pila, que aún no está en uso. Sin embargo, es posible que existan plataformas que puedan explotarse para ejecutar código.

Problemas identificados:

  • CVE-2022-3602: una vulnerabilidad, inicialmente presentada como crítica, provoca un desbordamiento del búfer de 4 bytes al verificar un campo con una dirección de correo electrónico especialmente diseñada en un certificado X.509. En un cliente TLS, la vulnerabilidad se puede explotar al conectarse a un servidor controlado por el atacante. En un servidor TLS, la vulnerabilidad se puede explotar si se utiliza la autenticación del cliente mediante certificados. En este caso, la vulnerabilidad aparece en la etapa posterior a la verificación de la cadena de confianza asociada al certificado, es decir. El ataque requiere que la autoridad certificadora verifique el certificado malicioso del atacante.
  • CVE-2022-3786 es otro vector para explotar la vulnerabilidad CVE-2022-3602, identificada durante el análisis del problema. Las diferencias se reducen a la posibilidad de desbordar un búfer en la pila con un número arbitrario de bytes que contienen el "." (es decir, el atacante no puede controlar el contenido del desbordamiento y el problema sólo puede usarse para provocar que la aplicación falle).

Las vulnerabilidades solo aparecen en la rama OpenSSL 3.0.x (el error se introdujo en el código de conversión Unicode (punycode) agregado a la rama 3.0.x). Las versiones de OpenSSL 1.1.1, así como las bibliotecas bifurcadas de OpenSSL, LibreSSL y BoringSSL, no se ven afectadas por el problema. Al mismo tiempo, se lanzó la actualización OpenSSL 1.1.1s, que solo contiene correcciones de errores no relacionados 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 con OpenSSL 3.0 están disponibles opcionalmente, los paquetes del sistema utilizan la rama 1.1.1. Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 y FreeBSD permanecen en las ramas OpenSSL 3.16.x.

Fuente: opennet.ru

Añadir un comentario