CVE-2020-13777: Vulnerabilidade do GnuTLS encontrada oculta por 2 anos
A vulnerabilidade no GnuTLS denominada CVE-2020-13777, é uma biblioteca de código aberto amplamente adotada que usa TLS (Transport Layer Security)
Segundo relatos, a vulnerabilidade está presente na biblioteca por aproximadamente 2 anos, tornando as sessões resumidas do TLS 1.3 abertas para ataques. A vulnerabilidade foi observada no GnuTLS 3.6.4 em setembro de 2018 e foi abordada posteriormente na versão mais recente do GnuTLS 3.6.14 em 3 de junho de 2020.
CVE-2020-13777 Vulnerabilidade explicada
É relatado que esse bug realmente permitia que os servidores GnuTLS usassem tickets de sessão emitidos durante a sessão TLS 1.3 segura anterior, sem utilizar a função que cria chaves secretas:
gnutls_session_ticket_key_generate ()
Aproveitando essa vulnerabilidade, os invasores podem burlar a autenticação no TLS 1.3, recuperando as conversas anteriores no TLS 1.2.
De acordo com o que o pesquisador chamado Airtower tem a dizer:
“Os servidores GnuTLS podem usar tickets emitidos um pelo outro sem acesso à chave secreta gerada por gnutls_session_ticket_key_generate (). Isso permite que um servidor MITM sem credenciais válidas retome as sessões com um cliente que primeiro estabeleceu uma conexão inicial com um servidor com credenciais válidas. O problema se aplica ao TLS 1.3, quando o reinício do TLS 1.2 falha conforme o esperado. ”
Os pesquisadores de segurança notaram esse problema primeiro no Ubuntu versão 3.6.13-2ubuntu1 e o criaram com uma nova compilação do master denominada 52e78fle.
Alguns pesquisadores também estão argumentando que o GnuTLS deve ser eliminado como uma dependência, enquanto muitos deles expressaram seu desdém contra a biblioteca também, de acordo com o apontado pelo TheRegister.
De acordo com o dicionário MITRE CVE, a descrição de CVE-2020-13777 é descrita como:
“O GnuTLS 3.6.x antes do 3.6.14 usa criptografia incorreta para criptografar um ticket de sessão (uma perda de confidencialidade no TLS 1.2 e um desvio de autenticação no TLS 1.3). A versão afetada mais antiga é 3.6.4 (2018-09-24) devido a um erro em uma confirmação 2018-09-18. Até a primeira rotação de chave, o servidor TLS sempre usa dados incorretos no lugar de uma chave de criptografia derivada de um aplicativo. ”
No entanto, não há mitigação identificada contra essa vulnerabilidade, conforme esclarecido pelo consultor da RedHat.