← Volver a artículos
Seguridad· 2 min de lectura

CVE-2025-11187: OpenSSL valida mal los parámetros PBMAC1 en PKCS#12

El 27 de enero de 2026 el proyecto OpenSSL publicó un aviso de seguridad sobre CVE-2025-11187, un fallo de gravedad moderada que afecta a cómo la biblioteca procesa los archivos PKCS#12 protegidos con PBMAC1. El problema está en que no se validan los parámetros de PBKDF2 al verificar el MAC (Message Authentication Code), y eso puede tumbar la aplicación y provocar una denegación de servicio (DoS).

Qué es la vulnerabilidad

Los archivos PKCS#12 (extensiones .p12 o .pfx) son contenedores que suelen guardar claves privadas, certificados y cadenas de confianza. Para asegurar su integridad llevan un MAC. Cuando ese MAC se calcula con PBMAC1 —un esquema más moderno que deriva la clave con PBKDF2— OpenSSL no comprobaba bien dos parámetros que controla el propio archivo:

  • La longitud de clave (keylength) de PBKDF2. Si el valor declarado supera los 64 bytes del búfer de pila reservado para la derivación, se produce un desbordamiento de pila.
  • El tipo de salt. Un salt con un tipo inválido lleva a usar un puntero no válido o a una desreferencia de puntero NULL.

En la práctica, lo que describe OpenSSL es una caída del proceso que parsea un archivo PKCS#12 no confiable.

A quién afecta y gravedad

Las ramas afectadas son OpenSSL 3.6, 3.5 y 3.4. El problema solo aparece cuando una aplicación procesa un archivo PKCS#12 malicioso o manipulado.

OpenSSL lo ha marcado como moderado y no como alto por un motivo claro: los archivos PKCS#12 casi siempre contienen claves privadas de confianza que el propio usuario o sistema generó o importó, así que rara vez son entrada externa no confiable. El riesgo real está en servicios que aceptan y parsean ficheros PKCS#12 de terceros, como portales de subida de certificados o sistemas de importación automatizada. Ahí un atacante sí podría enviar un .p12 preparado para tumbar el servicio.

El aviso menciona el potencial de desbordamiento de pila, pero OpenSSL deja el impacto realista en la denegación de servicio, sin confirmar ejecución de código.

Mitigación y parches

La corrección ya está disponible en estas versiones, a las que conviene actualizar:

  • OpenSSL 3.6.1
  • OpenSSL 3.5.5
  • OpenSSL 3.4.4

Las distribuciones de Linux han ido sacando sus propios paquetes corregidos: Debian lo trató en el aviso DSA-6113-1 y Red Hat en RHSA-2026:1496. Lo más sensato es actualizar con el gestor de paquetes de tu distribución (apt, dnf, etc.) en vez de compilar OpenSSL a mano, porque así también se actualizan los binarios y bibliotecas enlazados del sistema base.

Hasta que apliques el parche, evita procesar archivos PKCS#12 de origen desconocido y, en servicios que los acepten, valida y aísla ese flujo de entrada.

Fuente