Vulnerabilidad en ChaCha20-Poly1305 es un cifrado AEAD y requiere una entrada única para cada operación (CVE-2019-1543)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-327
Uso de algoritmo criptográfico vulnerable o inseguro
Fecha de publicación:
06/03/2019
Última modificación:
07/11/2023
Descripción
ChaCha20-Poly1305 es un cifrado AEAD y requiere una entrada única para cada operación de cifrado. RFC 7539 especifica que el valor de nonce (IV) debe ser de 96 bits (12 bytes). OpenSSL permite una longitud de nonce variable y las almohadillas frontales del nonce con 0 bytes si es inferior a 12 bytes. Sin embargo, también permite incorrectamente que se establezca un nonce de hasta 16 bytes. En este caso, solo los últimos 12 bytes son significativos y los bytes iniciales adicionales se ignoran. Es un requisito de usar este cifrado que los valores de nonce son únicos. Los mensajes cifrados que utilizan un valor nonce reutilizado son susceptibles de graves ataques de confidencialidad e integridad. Si una aplicación cambia la longitud del nonce por defecto a más de 12 bytes y luego realiza un cambio a los bytes iniciales del nonce, esperando que el nuevo valor sea un nuevo nonce único, dicha aplicación podría encriptar inadvertidamente los mensajes con un nonce reutilizado. Además, los bytes ignorados en un nonce largo no están cubiertos por la garantía de integridad de este cifrado. Cualquier aplicación que se base en la integridad de estos bytes iniciales ignorados de un nonce largo puede verse afectada aún más. Cualquier uso interno de OpenSSL de este cifrado, incluido en SSL / TLS, es seguro porque dicho uso no establece un valor de referencia tan largo. Sin embargo, las aplicaciones de usuario que usan este cifrado directamente y establecen una longitud de nonce no predeterminada para que sea mayor a 12 bytes pueden ser vulnerables. Las versiones de OpenSSL 1.1.1 y 1.1.0 están afectadas por este problema. Debido al alcance limitado de las implementaciones afectadas, esto se ha evaluado como de baja gravedad y, por lo tanto, no estamos creando nuevas versiones en este momento. Corregido en OpenSSL 1.1.1c (Afectado 1.1.1-1.1.1b). Corregido en OpenSSL 1.1.0k (Afectado 1.1.0-1.1.0j).
Impacto
Puntuación base 3.x
7.40
Gravedad 3.x
ALTA
Puntuación base 2.0
5.80
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.1.0 (incluyendo) | 1.1.0j (incluyendo) |
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.1.1 (incluyendo) | 1.1.1b (incluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00056.html
- https://access.redhat.com/errata/RHSA-2019:3700
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3Dee22257b1418438ebaf54df98af4e24f494d1809
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3Df426625b6ae9a7831010750490a5f0ad689c5ba3
- https://kc.mcafee.com/corporate/index?page=content&id=SB10365
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/Y3IVFGSERAZLNJCK35TEM2R4726XIH3Z/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZBEV5QGDRFUZDMNECFXUSN5FMYOZDE4V/
- https://seclists.org/bugtraq/2019/Jul/3
- https://www.debian.org/security/2019/dsa-4475
- https://www.openssl.org/news/secadv/20190306.txt
- https://www.oracle.com/security-alerts/cpuapr2020.html
- https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html
- https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html