OpenSSL corrige una grave vulnerabilidad que permite bloquear servidores
Hoy, el proyecto OpenSSL emiti贸 un aviso para dos vulnerabilidades de alta gravedad CVE-2021-3449 y CVE-2021-3450 que est谩n acechando los productos OpenSSL.
OpenSSL es una biblioteca de software de uso com煤n para crear servidores y aplicaciones de red que necesitan establecer comunicaciones seguras.
Las vulnerabilidades son las siguientes:
- CVE-2021-3449. Una vulnerabilidad de denegaci贸n de servicio (DoS) debido a la desreferenciaci贸n del puntero NULL. Esta vulnerabilidad solo afecta a las instancias del servidor OpenSSL, no a los clientes.
- CVE-2021-3450. Es una vulnerabilidad de validaci贸n de certificado de autoridad de certificaci贸n (CA) incorrecta que afecta tanto al servidor como a las instancias del cliente.
Vulnerabilidad DoS corregida por una sola l铆nea
La vulnerabilidad DoS (CVE-2021-3449) en el servidor OpenSSL TLS podr铆a hacer que el servidor se bloqueara. Esto si durante el curso de la renegociaci贸n el cliente env铆a un mensaje ClientHello malicioso.
“Si una renegociaci贸n de TLSv1.2 ClientHello evadela extensi贸n
signature_algorithms
(donde estaba presente en la extensi贸n ClientHello inicial), pero incluye una extensi贸nsignature_algorithms_cert
, se produce una desreferencia del puntero NULL. Esto provocar铆a un bloqueo y un ataque de denegaci贸n de servicio”.
La vulnerabilidad solo afecta a los servidores OpenSSL que ejecutan versiones entre 1.1.1 y 1.1.1j (ambas inclusive) que tienen habilitadas tanto TLSv1.2 como la renegociaci贸n.
Sin embargo, debido a que esta es la configuraci贸n predeterminada en estas versiones de servidor OpenSSL, muchos de los servidores activos podr铆an ser potencialmente vulnerables. Los clientes de OpenSSL no se ven afectados.
Afortunadamente, todo lo que se necesit贸 para solucionar este error de DoS fue una soluci贸n de una sola l铆nea. La soluci贸n consisti贸 en establecer peer_sigalgslen
en cero.
La vulnerabilidad fue descubierta por los ingenieros Peter K盲stle y Samuel Sapalski de Nokia, quienes tambi茅n ofrecieron la soluci贸n que te mostramos arriba.
Los certificados que no son de CA no pueden emitir certificados
Por otra parte, la vulnerabilidad de evasi贸n de validaci贸n de certificado de la autoridad de certificaci贸n (CA), CVE-2021-3450, tiene que ver con el indicador X509_V_FLAG_X509_STRICT
.
OpenSSL utiliza este indicador para no permitir el uso de soluciones para los certificados da帽ados. El indicador requiere estrictamente que los certificados se verifiquen con las reglas X509.
Sin embargo, debido a un error de regresi贸n, las versiones 1.1.1h y posteriores de OpenSSL (excluyendo la versi贸n parcheada 1.1.1k) se ven afectadas por esta vulnerabilidad. Esto porque que este indicador no est谩 configurado de forma predeterminada en estas versiones.
“A partir de la versi贸n 1.1.1h de OpenSSL, se agreg贸 una verificaci贸n. El objetivo de la verificaci贸n es no permitir certificados en la cadena que tienen par谩metros de curva el铆ptica codificados expl铆citamente como una verificaci贸n estricta adicional”.
Un error en la implementaci贸n de esta verificaci贸n signific贸 que se sobrescribi贸 el resultado de una verificaci贸n previa. La verificaci贸n permit铆a confirmar que los certificados de la cadena son certificados de CA v谩lidos.
En efecto, esto significa que las instancias de OpenSSL no pueden verificar que los certificados que no sean de CA no deben ser los emisores de otros certificados. Esto abre las posibilidades para que los atacantes aprovechen esta vulnerabilidad.
El 18 de marzo de 2021, Benjamin Kaduk de Akamai inform贸 de esta vulnerabilidad al proyecto OpenSSL.
La vulnerabilidad fue descubierta por Xiang Ding y otras en Akamai, con una soluci贸n desarrollada por Tom谩拧 Mr谩z.
Ninguna de las vulnerabilidades afecta a OpenSSL 1.0.2.
Ambas vulnerabilidades se corrigieron en OpenSSL 1.1.1k y recomendamos a los usuarios que actualicen a esta versi贸n para proteger sus instancias.
Recordemos que la CISA hab铆a instado a los administradores de sistemas en diciembre de 2020 a parchear otra vulnerabilidad de DoS de OpenSSL.
Por lo tanto, los usuarios deben protegerse de vulnerabilidades de seguridad como estas mediante la aplicaci贸n de actualizaciones oportunas.