
Die Funktion ASN1_STRING_set() erwartet eine `int`-Länge; stellen Sie sicher, dass das Argument nicht unbeabsichtigt abgeschnitten wird, wenn sie von asn1_ex_c2i() aufgerufen wird.
Der Patch behebt ein Problem mit Integer-Trunkierung im OpenSSL ASN.1/DER-Decodierungscode.
Die folgenden Änderungen wurden vorgenommen:
Der Typ für die ASN.1-Inhaltslänge wurde aktualisiert
len von asn1_ex_c2i() wurde von int in long geändert.Validierung der Längentrunkierung hinzugefügt
ilen wurde eingeführt, um die int-Darstellung von len zu speichern.long-Länge sicher in einen int passt.TOO_LONG-Fehler zurück, anstatt mit einer fehlerhaften gekürzten Länge fortzufahren.Verarbeitung primitiver Konvertierungen aktualisiert
prim_c2i() wird jetzt nur noch aufgerufen, wenn die Länge sicher als int dargestellt werden kann.int erwarten.ASN.1-Objektkonvertierung aktualisiert
ossl_c2i_ASN1_OBJECT() hinzugefügt.ASN.1-String-Verarbeitung aktualisiert
ASN1_STRING_set0() und ASN1_STRING_set() wurden geändert, um den validierten ilen-Wert anstelle der ursprünglichen, möglicherweise übergroßen len zu verwenden.Diese Änderungen verhindern, dass eine von einem Angreifer kontrollierte ASN.1-Länge, die größer als der unterstützte int-Bereich ist, stillschweigend gekürzt und anschließend für Pufferoperationen verwendet wird. Dadurch werden fehlerhafte Längenberechnungen verhindert und die mit CVE-2026-34180 verbundene Heap-Puffer-Überlese-Bedingung entschärft.