
La función ASN1_STRING_set() toma una longitud `int`, asegúrese de que el argumento no se trunque inadvertidamente cuando se llama desde asn1_ex_c2i().
El parche aborda un problema de truncamiento de enteros en el código de decodificación ASN.1/DER de OpenSSL.
Se realizaron los siguientes cambios:
Se actualizó el tipo de longitud del contenido ASN.1
len de asn1_ex_c2i() de int a long.Se agregó validación de truncamiento de longitud
ilen para contener la representación int de len.long pueda caber de forma segura en un .intTOO_LONG en lugar de continuar con una longitud truncada incorrecta.Se actualizó el manejo de conversión de primitivos
prim_c2i() ahora se llama solo cuando la longitud puede representarse de forma segura como un int.int.Se actualizó la conversión de objetos ASN.1
ossl_c2i_ASN1_OBJECT().Se actualizó el manejo de cadenas ASN.1
ASN1_STRING_set0() y ASN1_STRING_set() para usar el valor validado ilen en lugar de la len original potencialmente sobredimensionada.Estos cambios evitan que una longitud ASN.1 controlada por un atacante mayor que el rango int soportado sea truncada silenciosamente y posteriormente utilizada para operaciones de búfer. Esto previene cálculos de longitud incorrectos y mitiga la condición de sobrelectura de búfer en el heap asociada con CVE-2026-34180.