Vulnerabilidad en OpenSSL (CVE-2025-69419)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
27/01/2026
Última modificación:
12/05/2026
Descripción
Resumen del problema: Llamar a la función PKCS12_get_friendlyname() en un archivo PKCS#12 creado maliciosamente con un nombre descriptivo BMPString (UTF-16BE) que contiene un punto de código BMP no ASCII puede desencadenar una escritura de un byte antes del búfer asignado.<br />
<br />
Resumen del impacto: La escritura fuera de límites puede causar una corrupción de memoria que puede tener varias consecuencias, incluyendo una denegación de servicio.<br />
<br />
La función OPENSSL_uni2utf8() realiza una conversión en dos pasadas de un BMPString (UTF-16BE) de PKCS#12 a UTF-8. En la segunda pasada, al emitir bytes UTF-8, la función auxiliar bmp_to_utf8() reenvía incorrectamente el recuento de bytes fuente UTF-16 restantes como la capacidad del búfer de destino a UTF8_putc(). Para puntos de código BMP superiores a U+07FF, UTF-8 requiere tres bytes, pero la capacidad reenviada puede ser de solo dos bytes. UTF8_putc() luego devuelve -1, y este valor negativo se añade a la longitud de salida sin validación, haciendo que la longitud se vuelva negativa. El subsiguiente byte NUL final se escribe entonces en un desplazamiento negativo, causando una escritura fuera del búfer asignado en el heap.<br />
<br />
La vulnerabilidad es alcanzable a través de la API pública PKCS12_get_friendlyname() al analizar archivos PKCS#12 controlados por el atacante. Si bien PKCS12_parse() utiliza una ruta de código diferente que evita este problema, PKCS12_get_friendlyname() invoca directamente la función vulnerable. La explotación requiere que un atacante proporcione un archivo PKCS#12 malicioso para ser analizado por la aplicación y el atacante puede simplemente desencadenar una escritura de un byte cero antes del búfer asignado. Por esa razón, el problema fue evaluado como de baja severidad según nuestra Política de Seguridad.<br />
<br />
Los módulos FIPS en 3.6, 3.5, 3.4, 3.3 y 3.0 no se ven afectados por este problema, ya que la implementación de PKCS#12 está fuera del límite del módulo FIPS de OpenSSL.<br />
<br />
OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 y 1.1.1 son vulnerables a este problema.<br />
<br />
OpenSSL 1.0.2 no se ve afectado por este problema.
Impacto
Puntuación base 3.x
7.40
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.1.1 (incluyendo) | 1.1.1ze (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.0.0 (incluyendo) | 3.0.19 (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.3.0 (incluyendo) | 3.3.6 (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.4.0 (incluyendo) | 3.4.4 (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.5.0 (incluyendo) | 3.5.5 (excluyendo) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.6.0 (incluyendo) | 3.6.1 (excluyendo) |
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/41be0f216404f14457bbf3b9cc488dba60b49296
- https://github.com/openssl/openssl/commit/7e9cac9832e4705b91987c2474ed06a37a93cecb
- https://github.com/openssl/openssl/commit/a26a90d38edec3748566129d824e664b54bee2e2
- https://github.com/openssl/openssl/commit/cda12de3bc0e333ea8d2c6fd15001dbdaf280015
- https://github.com/openssl/openssl/commit/ff628933755075446bca8307e8417c14d164b535
- https://openssl-library.org/news/secadv/20260127.txt
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html



