
La fonction ASN1_STRING_set() prend une longueur de type `int`, assurez-vous que l'argument n'est pas tronqué par inadvertance lorsqu'elle est appelée depuis asn1_ex_c2i().
Le correctif traite un problème de troncature d'entier dans le code de décodage ASN.1/DER d'OpenSSL.
Les modifications suivantes ont été apportées :
Mise à jour du type de longueur de contenu ASN.1
len de asn1_ex_c2i() est passé de int à long.Ajout d'une validation de troncature de longueur
ilen pour contenir la représentation int de len.long d'origine peut tenir sans risque dans un .intTOO_LONG au lieu de continuer avec une longueur tronquée incorrecte.Mise à jour de la gestion de conversion primitive
prim_c2i() n'est désormais appelé que lorsque la longueur peut être représentée sans risque par un int.int.Mise à jour de la conversion d'objet ASN.1
ossl_c2i_ASN1_OBJECT().Mise à jour de la gestion des chaînes ASN.1
ASN1_STRING_set0() et ASN1_STRING_set() pour utiliser la valeur ilen validée au lieu de la longueur len d'origine potentiellement surdimensionnée.Ces modifications empêchent qu'une longueur ASN.1 contrôlée par un attaquant, supérieure à la plage int prise en charge, soit silencieusement tronquée puis utilisée pour des opérations sur des tampons. Cela évite des calculs de longueur incorrects et atténue la condition de lecture excessive de tampon sur le tas associée à CVE-2026-34180.