
A função ASN1_STRING_set() recebe um comprimento do tipo `int`, certifique-se de que o argumento não seja inadvertidamente truncado quando for chamado a partir de asn1_ex_c2i().
O patch corrige um problema de truncamento de inteiro no código de decodificação ASN.1/DER do OpenSSL.
As seguintes alterações foram feitas:
Atualizado o tipo de comprimento do conteúdo ASN.1
len de asn1_ex_c2i() de int para long.Adicionada validação de truncamento de comprimento
ilen para armazenar a representação int de len.long pode caber com segurança em um .intTOO_LONG em vez de continuar com um comprimento truncado incorreto.Atualizado o tratamento de conversão primitiva
prim_c2i() agora é chamado apenas quando o comprimento pode ser representado com segurança como um int.int.Atualizada a conversão de objeto ASN.1
ossl_c2i_ASN1_OBJECT().Atualizado o tratamento de strings ASN.1
ASN1_STRING_set0() e ASN1_STRING_set() para usar o valor validado ilen em vez do len original potencialmente excessivo.Essas alterações impedem que um comprimento ASN.1 controlado por um atacante, maior que o intervalo int suportado, seja silenciosamente truncado e subsequentemente usado para operações de buffer. Isso evita cálculos de comprimento incorretos e mitiga a condição de leitura excessiva do buffer de heap associada à CVE-2026-34180.