For the English version of this alert, click here.
Allele Security Alert
ASA-2019-00118
Identificador(es)
ASA-2019-00118, CVE-2019-1543
Título
ChaCha20-Poly1305 com nonces longo
Fabricante(s)
The OpenSSL Project
Produto(s)
OpenSSL
Versão(ões) afetada(s)
OpenSSL versões 1.1.1 e 1.1.0
Versão(ões) corrigida(s)
Versões do OpenSSL com o seguinte commit aplicado:
Prevent over long nonces in ChaCha20-Poly1305
https://github.com/openssl/openssl/commit/f426625b6a
Prova de conceito
Desconhecido
Descrição
O ChaCha20-Poly1305 é uma cifra AEAD e requer uma entrada nonce única para cada operação de criptografia. A RFC 7539 especifica que o valor do nonce (IV) deve ser 96 bits (12 bytes). O OpenSSL permite um comprimento nonce variável e preenche o nonce com 0 bytes se for menor que 12 bytes. No entanto, também permite incorretamente que um nonce seja configurado em até 16 bytes. Neste caso, apenas os últimos 12 bytes são significativos e quaisquer bytes iniciais adicionais são ignorados.
É um requisito de usar essa cifra que valores nonce são únicos. As mensagens criptografadas usando um valor nonce reutilizado são suscetíveis a sérios ataques de confidencialidade e integridade. Se um aplicativo alterar o comprimento de nonce padrão para maior que 12 bytes e, em seguida, fizer uma alteração nos bytes iniciais do nonce esperando que o novo valor seja um novo nonce exclusivo, esse aplicativo poderá criptografar mensagens inadvertidamente com um nonce reutilizado.
Além disso, os bytes ignorados em um longo nonce não são cobertos pela garantia de integridade dessa codificação. Qualquer aplicativo que dependa da integridade desses bytes principais ignorados de um longo nonce pode ser afetado ainda mais.
Qualquer uso interno do OpenSSL dessa codificação, inclusive em SSL/TLS, é seguro, pois nenhum uso desse tipo estabelece um valor nonce muito longo. No entanto, os aplicativos de usuário que usam essa codificação diretamente e definem um comprimento de nonce não padrão para ter mais de 12 bytes podem estar vulneráveis.
Technical details
Desconhecido
Créditos
Joran Dirk Greef (Ronomon)
Referência(s)
ChaCha20-Poly1305 with long nonces (CVE-2019-1543)
https://www.openssl.org/news/secadv/20190306.txt
Prevent over long nonces in ChaCha20-Poly1305
https://github.com/openssl/openssl/commit/f426625b6a
chacha20-poly1305: fails to detect tampering, where IV > 12 and IV <= 16 (CHACHA_CTR_SIZE) #8345
https://github.com/openssl/openssl/issues/8345
CVE-2019-1543
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1543
CVE-2019-1543
https://nvd.nist.gov/vuln/detail/CVE-2019-1543
Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.
Última modificação: 6 março 2019