CVE-2020-13777: Vulnerabilidad de GnuTLS encontrada oculta durante 2 años

La vulnerabilidad en GnuTLS denominada CVE-2020-13777 es una biblioteca de código abierto ampliamente adoptada que utiliza TLS (Seguridad de la capa de transporte)

Según los informes, se encuentra que la vulnerabilidad está presente en la biblioteca durante aproximadamente 2 años, lo que hace que las sesiones reanudadas de TLS 1.3 estén abiertas para el ataque. La vulnerabilidad se notó en GnuTLS 3.6.4 en septiembre de 2018 y se abordó más adelante en la versión más reciente de GnuTLS 3.6.14 el 3 de junio de 2020.

CVE-2020-13777 Vulnerabilidad explicada

Según se informa, este error realmente permitió a los servidores GnuTLS usar tickets de sesión emitidos durante la sesión segura anterior de TLS 1.3, sin utilizar la función que crea claves secretas:

gnutls_session_ticket_key_generate ()

Aprovechando esta vulnerabilidad, los atacantes podrían eludir la autenticación bajo TLS 1.3, recuperando así las conversaciones previas bajo TLS 1.2.

Según lo que dijo el investigador llamado Airtower:

“Los servidores GnuTLS pueden usar tickets emitidos entre sí sin acceso a la clave secreta generada por gnutls_session_ticket_key_generate (). Esto permite que un servidor MITM sin credenciales válidas reanude las sesiones con un cliente que primero estableció una conexión inicial con un servidor con credenciales válidas. El problema se aplica a TLS 1.3, cuando el uso de la reanudación de TLS 1.2 falla como se esperaba “.

Los investigadores de seguridad han notado este problema primero con Ubuntu versión 3.6.13-2ubuntu1 y lo crearon con una nueva compilación de master denominada 52e78fle.

Algunos de los investigadores también argumentan que GnuTLS debería eliminarse como una dependencia, mientras que muchos de ellos también han expresado su desdén contra la biblioteca, según lo señalado por TheRegister.

Según el diccionario MITER CVE, la descripción de CVE-2020-13777 se describe como:

“GnuTLS 3.6.x anterior a 3.6.14 usa criptografía incorrecta para encriptar un ticket de sesión (una pérdida de confidencialidad en TLS 1.2 y una omisión de autenticación en TLS 1.3). La primera versión afectada es 3.6.4 (2018-09-24) debido a un error en una confirmación 2018-09-18. Hasta la primera rotación de claves, el servidor TLS siempre utiliza datos incorrectos en lugar de una clave de cifrado derivada de una aplicación “.

Sin embargo, no existe una mitigación identificada contra esta vulnerabilidad tal como lo aclara el aviso de RedHat.