Vulnerabilidad en OpenSSL (CVE-2026-45445)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
09/06/2026
Última modificación:
23/07/2026
Descripción
Resumen del problema: Cuando una aplicación maneja un contexto AES-OCB a través de la interfaz de un solo uso pública EVP_Cipher(), el vector de inicialización (IV) proporcionado por la aplicación es descartado silenciosamente.<br />
<br />
Resumen del impacto: Cada mensaje cifrado bajo la misma clave utiliza el mismo nonce efectivo independientemente del IV proporcionado por el llamador, lo que resulta en la reutilización de (clave, nonce) y la pérdida de confidencialidad. Si la misma ruta de código se utiliza para calcular la etiqueta de autenticación, la etiqueta depende solo del par (clave, IV) y no del texto plano o del texto cifrado, lo que permite la falsificación universal de texto cifrado arbitrario a partir de un único mensaje capturado.<br />
<br />
OpenSSL proporciona dos formas de manejar un cifrado: la interfaz de streaming documentada (EVP_CipherUpdate / EVP_CipherFinal_ex) y una de un solo uso de nivel inferior, EVP_Cipher(), cuya documentación recomienda explícitamente no ser utilizada por las aplicaciones en favor de EVP_CipherUpdate() y EVP_CipherFinal_ex(). El gestor de streaming del proveedor OCB vacía el IV proporcionado por la aplicación en el contexto OCB antes de procesar los datos; el gestor de un solo uso no lo hacía. Cada llamada a EVP_Cipher() en un contexto AES-OCB, por lo tanto, se ejecutaba con el estado de desplazamiento derivado de la clave todo-cero dejado por la inicialización del cifrado, independientemente del IV del llamador.<br />
<br />
Si EVP_EncryptFinal_ex() se utiliza posteriormente para obtener la etiqueta de autenticación, la configuración diferida del IV se ejecuta en ese momento y borra la suma de verificación en ejecución que debería haberse acumulado sobre el texto plano. La etiqueta resultante es una función de (clave, IV) solamente y verifica cualquier texto cifrado producido bajo el mismo par (clave, IV).<br />
<br />
La implementación SSL/TLS de OpenSSL no se ve afectada: AES-OCB no es una suite de cifrado TLS, y libssl no llama a EVP_Cipher() en ningún caso. Las aplicaciones que manejan AES-OCB a través de la API AEAD de streaming documentada (EVP_CipherUpdate / EVP_CipherFinal_ex) no se ven afectadas. Solo las aplicaciones que combinan el cifrado AES-OCB con la API de un solo uso EVP_Cipher() son vulnerables.<br />
<br />
Los módulos FIPS en 4.0, 3.6, 3.5, 3.4 y 3.0 no se ven afectados por este problema, ya que AES-OCB está fuera del límite del módulo FIPS de OpenSSL.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.0.0 (incluyendo) | 3.0.21 (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.4.0 (incluyendo) | 3.4.6 (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.5.0 (incluyendo) | 3.5.7 (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.6.0 (incluyendo) | 3.6.3 (excluyendo) |
| cpe:2.3:a:openssl:openssl:4.0.0:-:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/openssl/openssl/commit/323f0b6e7d530a4cb4336d50c88cb70f3ac2a451
- https://github.com/openssl/openssl/commit/787a6dfba81b7b09c1e05ab31396c0cd7c36b3f7
- https://github.com/openssl/openssl/commit/7ac4715234ee72d9f3c93426a2c08554b5b771af
- https://github.com/openssl/openssl/commit/843c9b94ca9c2ed248bb30127bb4f3d7af0d607c
- https://github.com/openssl/openssl/commit/983d54b5cce8d16147548ed1a37892d1720bbab6
- https://openssl-library.org/news/secadv/20260609.txt



